• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLでデータを1件だけ取得したいのですが。)

SQLでデータを1件だけ取得する方法

このQ&Aのポイント
  • SQLでデータを1件だけ取得する方法について説明します。
  • テーブルAとテーブルBをリンクさせ、テーブルAの値Xに対してテーブルBの値Xを外部結合します。
  • テーブルBの値Xが複数存在する場合、値Yが最大の1件を出力し、値Yが全てNULLの場合はNULLとして1件出力します。

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

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

select テーブルA.x ,( select b.y from ( select テーブルB.x, テーブルB.y, row_number() over( partition by テーブルB.x order by テーブルB.y desc nulls last ) rn from テーブルB ) b where テーブルA.x = b.x and b.rn = 1 ) y from テーブルA;

evaag777
質問者

お礼

ご回答ありがとうございます。解決する事ができました。

その他の回答 (1)

  • hakugen
  • ベストアンサー率36% (8/22)
回答No.2

こんばんは。 実際に試してはいませんが、 こんな感じでいかがでしょうか。 SELECT テーブルA.X, テーブルB'.Y FROM テーブルA LEFT OUTER JOIN (SELECT MAX(Y) Y FROM テーブルB GROUP BY X ) テーブルB' ON テーブルA.X = テーブルB'.X

evaag777
質問者

お礼

ご回答ありがとうございます。解決する事ができました。