質問
下記のテーブルで日付が同じかつ種別が3と5のデータを1セットとしているのですが、3行目のように対になるデータ(同じ日付で種別が5)がないデータを抽出するSQLについてご教授いただけないでしょうか。
joinやexistsを使ってみたのですが、理解が足りないせいか思うように抽出することができませんでした。
受注テーブル
No. | 日付 | 種別 |
---|---|---|
1 | 20220701 | 3 |
2 | 20220701 | 5 |
3 | 20220720 | 3 |
4 | 20220719 | 3 |
4 | 20220719 | 5 |
主キー:No
取得したい結果
No. | 日付 | 種別 |
---|---|---|
3 | 20220720 | 3 |
補足情報
DB:SQL Server
> joinやexistsを使ってみたのですが、理解が足りないせいか思うように抽出することができませんでした。
書いてみて失敗したコードとその結果はご提示いただけませんか?
すいません、こちらの情報が不足していました。
実際のテーブルを簡易的なテーブルにして質問させていただいたため、SQLも異なりますが、おおよそは下記のようになりました。
【SQL】
select * from 受注テーブル as A left outer join 受注テーブル as B on A.No. = B.No. and A.日付 = B.日付 where not exists (select * from 受注テーブル where 種別 = 5)
【結果】
0件
回答1件
あなたの回答
tips
プレビュー