mysql - 连接三个 SQL 表?

标签 mysql sql join left-join

我有一个有效的 SQL 查询,但为了便于使用,我需要从查询中的第三个表中获取另一条数据,但一直无法获取它。

每个表基本上都由 tenant_id 绑定(bind)在一起

(我为糟糕的结构道歉,我没有创建数据库)

表:tenant_statements

tenant_id 余额 属性(property) 日期

表:租赁

lease_id tenant_id property unit_number

表:租户

tenant_id 名字 姓氏 global_comment

我当前的查询:

SELECT * 
FROM tenant_statements t
INNER JOIN (
SELECT * 
FROM leases
GROUP BY tenant_id
ORDER BY lease_id
)l ON t.tenant_id = l.tenant_id
WHERE t.date = '$date'
AND t.property = '$property'
ORDER BY t.balance DESC

这为我提供了加入两个表的适当响应:leasestenant_statements$date$property 通过 PHP 变量循环设置并用于演示。

我试图做的也是抓取 tenants.global_comment 并添加每个结果。

理想的输出将是:

tenant_statements t: t.balance, t.date

租约 l: l.property, l.unit_number

租户 x:x.first_name、x.last_name、x.global_comment

全部在一个查询中。

谁能指出我正确的方向?谢谢!

最佳答案

怎么样

SELECT * 
FROM    tenant_statements t INNER JOIN 
        (
            SELECT * 
            FROM leases
            GROUP BY tenant_id
            ORDER BY lease_id
        )l ON t.tenant_id = l.tenant_id INNER JOIN
        tenants ts  ON  t.tenant_id = ts.tenant_id
WHERE   t.date = '$date'
AND     t.property = '$property'
ORDER BY    t.balance DESC

关于mysql - 连接三个 SQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17850031/

相关文章:

SQL Server - 更改日期格式

mysql - 同时选择数据和更新

mysql - 尝试在 MySQL 中连接 3 个表

sql - 从 SQL Join 中删除重复项

mysql - 操作数应包含 1 列 select 时出现 mysql 错误

MySQL:索引可变长度的json数组?

mysql - 选择组中的最小值

mysql - 左连接复制并计算所有行

php - 如何使用 CodeIgniter 连接两个具有相同字段名的表并以数组形式返回这两个表?

php - 如何检查数据库中是否存在多个字符串?