Ich benutze INNER JOIN
zum ersten Mal und ich bin ein wenig verwirrt.PDO mehrere innere Joins scheinen zu loopen
Ich habe 3 Tabellen:
dog
client
dogclient
Ich versuche, Informationen von den beiden client
und dog
Tabellen für jeden Datensatz in dem dogclient
Tisch zu bekommen. wenn ich das tue, ist das Ergebnis folgendermaßen aus:
[{"ID":"1","Name":"Sparky","Forename":"Jamie","Surname":"McAllister"},
{"ID":"1","Name":"Sparky","Forename":"Jamie","Surname":"McAllister"},
{"ID":"2","Name":"Scruff","Forename":"Jamie","Surname":"McAllister"},
{"ID":"2","Name":"Scruff","Forename":"Jamie","Surname":"McAllister"}]
Die Funktion verwende ich diese Abfrage zu machen ist:
function getAll(){
$conn = self::connect();
$stmt = $conn->prepare("SELECT dog.ID, dog.Name, client.Forename, client.Surname FROM dogclient INNER JOIN client ON dogClient.ClientID INNER JOIN dog ON dogclient.DogID");
$stmt->execute();
// set the resulting array to associative
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
$response = $stmt->fetchAll();
return $response;
Kann jemand sehen, wo ich falsch gegangen?
oder kennt jemand einen besseren Weg, dies zu tun?
, wenn es hilft, gibt es nur zwei Hunde in dem dog
Tisch, ein Client in der client
Tabelle und 2 Datensätze in der dogclient
Tabelle, so dass ich erwartet habe 2 Ergebnisse
Dies ist eine reine MySQL-bezogene Frage, ich empfehle das Entfernen des PHP-Tags und des Codes. Geben Sie einfach an, wie Ihre Tabelle (n) strukturiert sind und formatieren Sie eine SQL-Abfrage. – martijnn2008