- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLでデータを1件だけ取得したいのですが。)
SQLでデータを1件だけ取得する方法
このQ&Aのポイント
- SQLでデータを1件だけ取得する方法について説明します。
- テーブルAとテーブルBをリンクさせ、テーブルAの値Xに対してテーブルBの値Xを外部結合します。
- テーブルBの値Xが複数存在する場合、値Yが最大の1件を出力し、値Yが全てNULLの場合はNULLとして1件出力します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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;
その他の回答 (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
質問者
お礼
ご回答ありがとうございます。解決する事ができました。
お礼
ご回答ありがとうございます。解決する事ができました。