1

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

每张桌子基本上是由tenant_id

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

表:租户声明

tenant_id 余额属性日期

表:租约

租赁 ID 租户 ID 属性 unit_number

表:租户

租户id first_name last_name 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并添加每个结果。

理想的输出将是:

租户声明 t: t.balance, t.date

租赁 l: l.property, l.unit_number

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

一站式查询。

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

4

2 回答 2

1

像这样的东西怎么样

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
于 2013-07-25T06:00:18.413 回答
0

虽然每个连接规范只连接两个表,但 FROM 子句可以包含多个连接规范。这允许为单个查询连接多个表。

 SELECT  t.tenant_id,
t.balance,
l.unit_number,
l.property
x.first_name, x.last_name, x.global_comment


fROM  tenant_statements t
   INNER JOIN  leases l ON l.tenant_id = t .tenant_id
   INNER JOIN tenants x  on x.tenant_id = t.tenant_id
于 2013-07-25T06:55:19.793 回答