我尝试从同一数据库的 4 个不同表中获取信息
Posted
技术标签:
【中文标题】我尝试从同一数据库的 4 个不同表中获取信息【英文标题】:I try to get information from 4 different tables of the same database 【发布时间】:2018-11-19 23:45:16 【问题描述】:为了创建数据列表,我尝试从同一个数据库的 4 个不同表中获取信息,使用 php 和仅一个 sql 语句。这些表通过外键链接在一起,如下所示: 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']."'";
但对我来说只使用一个太复杂了。
【问题讨论】:
请格式化您的问题..查看链接***.com/help/how-to-ask 【参考方案1】:我想这可以帮助你:
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';
你甚至可以在 join 方法上设置 where 条件。 顺便说一句,小心这个多连接语句,因为可能会使你的数据库变慢
【讨论】:
以上是关于我尝试从同一数据库的 4 个不同表中获取信息的主要内容,如果未能解决你的问题,请参考以下文章