1

機能している SQL クエリがありますが、使いやすくするためにクエリの 3 番目のテーブルから別のデータを取得する必要がありますが、取得できませんでした。

すべてのテーブルは、基本的に次のように結び付けられています。tenant_id

(構造が悪くてすみません、DBは作ってません)

表: tenant_statements

tenant_id 残高プロパティの日付

表: リース

lease_id テナント ID プロパティ unit_number

表: テナント

tenant_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

これにより、2 つのテーブルを結合するための適切な応答が得られます:leasestenant_statements. PHP 変数ループを介して設定され、プレゼンテーションに使用されます$date$property

私がやろうとしているのは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

1 つのクエリですべて。

誰かが私を正しい方向に向けることができますか? ありがとうございました!

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

各結合仕様は 2 つのテーブルのみを結合しますが、FROM 句には複数の結合仕様を含めることができます。これにより、1 つのクエリで多くのテーブルを結合できます。

 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 に答える