为了创建数据列表,我尝试使用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']."'";
}
但是对我来说太复杂了。
答案 0 :(得分:0)
我想这可以帮到你:
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';
即使你可以把条件放在连接方法的哪里。 顺便说一句,请注意这个多连接语句,因为这可能会使您的数据库变慢