我第一次使用INNER JOIN
而且我有点困惑。
我有3张桌子:
dog
client
dogclient
我试图从client
和dog
表中获取dogclient
表中每条记录的信息。当我这样做时,结果如下:
[{"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"}]
我用来进行此查询的功能是:
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;
谁能看到我出错的地方?
或者,有没有人知道更好的方法呢?
如果它有帮助,dog
表中只有2只狗,client
表中有一个客户端,dogclient
表中有2条记录,所以我期待2个结果
答案 0 :(得分:1)
试试这个:
INNER JOIN client ON dogClient.ClientID = client.ClientID INNER JOIN dog ON dogclient.DogID = dog.DogID