• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL HAVING句の使い方について)

SQL HAVING句の使い方について

このQ&Aのポイント
  • SQLのHAVING句を使用すると、指定した条件に基づいてグループ化された結果セットをフィルタリングすることができます。
  • 具体的には、WHERE句では行レベルの条件を指定しますが、HAVING句ではグループレベルの条件を指定することができます。
  • 例えば、テーブルAとテーブルBを結合して結果テーブルを出力する際に、テーブルAのIDがテーブルBのIDと一致するものだけを表示することができます。

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

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

なにか普通に処理してはいけない(=HAVINGを使わなくてはならない)事情をお持ちですか? こうやればできますが、CROSS JOINはCostlyです。 SELECT b.ID, b.NAME, SUM(CASE WHEN A.ID=B.ID THEN 1 ELSE 0 END) FROM table_a a, table_b b GROUP BY b.ID, b.NAME 普通は、こんな風に書くのでは。。? SELECT b.ID, b.NAME, COUNT(DISTINCT cate) FROM table_b b LEFT OUTER JOIN table_a a ON a.ID=b.ID GROUP BY b.ID,b.NAME SELECT b.ID, b.NAME, NVL(CNT,0) FROM table_b b LEFT OUTER JOIN (SELECT ID,COUNT(*) CNT FROM table_a GROUP BY ID) a ON a.ID=b.ID

関連するQ&A