0

これらがdefnによる「複雑なクエリ」であるかどうかはわかりませんが、私のような初心者には非常に複雑に見えます.

ここに、customer_id=5 の最新のチャートを取得するクエリがあります。

$query = "SELECT c.Chart_ID, c.Chart_Notes
          FROM tblchart AS c WHERE c.Customer_ID=5
          ORDER BY c.Last_Edited ASC LIMIT 1";

Chart_IDしかし、外部キーとして使用する別のテーブルに関連付ける必要があります。tblcontentを使用してデータを取得するにはどうすればよいtblchart.Chart_ID=tblcontent.Chart_IDですか? それを次のように追加することはできませんでした:

$query = "SELECT c.Chart_ID, c.Chart_Notes, d.Content_Desc, d.Content_Title
          FROM tblchart AS c, tblcontent AS d
          WHERE c.Customer_ID=5 AND c.Chart_ID=d.Chart_ID
          ORDER BY c.Last_Edited DESC LIMIT 1";

できますか?それは検索を1つだけに制限するので...の使用はLIMIT 1最新のものを取得するだけですが、後続のクエリ(拡張クエリ)についてはtblcontent、最初に投稿したクエリに加えて複数の結果が抽出されることを期待しています. 結合、たぶん、またはユニオン、または複雑なクエリですが、どのように? お願いします、誰か助けてくれませんか?ありがとう。

4

1 に答える 1

1
SELECT  a.Chart_ID, a.Chart_Notes, c.Content_Desc, c.Content_Title
FROM    tblChart a
        INNER JOIN
        (
            SELECT Chart_ID, MAX(Last_edited) maxEdited
            FROM tblChart
            GROUP BY Chart_ID
        ) b ON a.Chart_ID = b.Chart_ID AND
                a.Last_Edited = b.maxEdited
        INNER JOIN tblcontent c
            ON a.Chart_ID = c.Chart_ID
WHERE   a.Customer_ID=5
于 2012-11-16T04:42:35.783 に答える