【问题标题】:I try to get information from 4 different tables of the same database我尝试从同一数据库的 4 个不同表中获取信息
【发布时间】: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']."'"; 
}

但对我来说只使用一个太复杂了。

【问题讨论】:

标签: php mysql select inner-join where


【解决方案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 条件。 顺便说一句,小心这个多连接语句,因为可能会使你的数据库变慢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    相关资源
    最近更新 更多