• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:3つのテーブルの処理について)

3つのテーブルの処理について

このQ&Aのポイント
  • 3つのテーブルを結合し、条件に基づいてデータを並べ替えたい場合について解説します。
  • テーブルAを基準に、テーブルBのデータを結合し、最新のデータを抽出する方法について考えます。
  • テーブルCに存在するデータを最後に並べ替え、理想的な結合データを作る方法について説明します。

質問者が選んだベストアンサー

  • ベストアンサー
  • adachi45
  • ベストアンサー率100% (1/1)
回答No.1

内部結合で。 select A.id,A.name,A.comment, count(B.id) as cnt, max(B.date) as date, '0' as CK from A,B where B.id=A.id and not exists( select id from C where C.id=A.id ) group by A.id,A.name,A.comment UNION select A.id,A.name,A.comment, 0 as cnt, NULL as date, '0' as CK from A where not exists( select id from C where C.id=A.id ) and not exists( select id from B where B.id=A.id ) group by A.id,A.name,A.comment UNION select A.id,A.name,A.comment, count(B.id) as cnt, max(B.date) as date, '1' as CK from A,B,C where B.id=A.id and C.id=A.id group by A.id,A.name,A.comment UNION select A.id,A.name,A.comment, 0 as cnt, NULL as date, '1' as CK from A,C where C.id=A.id and not exists( select id from B where B.id=A.id ) group by A.id,A.name,A.comment order by CK,cnt;

aiurai54
質問者

お礼

こんなにいっぱい書いていただきありがとうございます。 でも、できませんでした。。なんででしょう。。 adding missing FROM-clause entry in subquery for table "A"

関連するQ&A