为了创建一个数据列表,我尝试使用php和一条sql语句从同一数据库的4个不同的表中获取信息。这些表通过外键链接在一起,如下所示:P和B的主键与D中的外键相同。T的主键与B中的外键相同
使用3个不同的sql语句很容易,
{
$sql1="SELECT * FROM daneismos WHERE danDateEpistr IS NULL ORDER BY danDateDaneis";
$sql2="SELECT * FROM titlos WHERE titlosId IN
(SELECT bookTitle FROM book WHERE bookID = '".$recDaneismos['danBookId']."')";
$sql3="SELECT * FROM person WHERE personId = '".$recDaneismos['danPersonId']."'";
}
但对我来说,只用一个就太复杂了。
发布于 2018-06-11 01:27:47
我想这可能会对你有所帮助:
SELECT p.X, d.Y, b.Z, t.F
FROM person p
JOIN daneismos d ON p.personId = d.danPersonId
JOIN book b ON d.danBookId = b.bookID
JOIN titlos t ON t.titlosId = b.bookTitle
WHERE b.bookId = '$danBookId'
AND personId = 'danPersonId';
甚至您也可以将where条件放在连接方法上。顺便说一句,使用此多连接语句时要小心,因为这可能会使数据库变慢
https://stackoverflow.com/questions/50785629
复制相似问题