我第一次使用INNER JOIN
,我有点困惑。
我有 3 张 table :
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
表中只有 1 个客户端,dogclient
中有 2 条记录> 表,所以我期待 2 个结果
最佳答案
试试这个:
INNER JOIN client ON dogClient.ClientID = client.ClientID INNER JOIN dog ON dogclient.DogID = dog.DogID
关于php - PDO 多个内部联接似乎是循环的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37748772/