- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLでの質問です・・)
SQLでCSVデータとtblデータのFROM~TO番号の不一致を調査する方法は?
このQ&Aのポイント
- CSVデータとtblデータのkey1,key2が同じ条件で、CSVデータのFROM番号がtblデータのFROM番号~TO番号に存在しないかを調べるSQL文(select,where句)の作成方法を教えてください。
- また、CSVデータのTO番号がtblデータのFROM番号~TO番号に存在しないかも調べたいです。
- 結果は無い場合は0が出力され、存在する場合はどうなるのか教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>(1),(2)をそれぞれSQL文(select,where句)でやりたいのですが。。。 CSVデータという名のテーブルとTBLデータという名のテーブルを突き合わせしたいと言うことでしょうか? >実際の結果、無い場合は0が出力される?あった場合はどうなるのでしょう? "無い場合は0が出力"ことも可能でしょうし、それ以外の方法もあるでしょう。 まずは、やりたいことを明確にしてください。 ちなみに、合致するデータの件数が把握したいなら、こんな感じでしょう。 select count(*) from CSV where exists ( select 1 from TBL where (CSV.FROM between TBL.FROM and TBL.TO) or (CSV.TO between TBL.FROM and TBL.TO) ) なお、あなたの記載された条件には書かれていませんが、 CSVのFROM-TOが、TBLのFROM-TOを完全に含んでしまうような ケースでは、除外されてしまいますよ? 含めたいのであれば、 TBL.FROM between CSV.FROM and CSV.TO というような条件を書き足す必要があります。 (例 csv.from=1 csv.to=10 tbl.from=5 tbl.to=8 のような時)