■問題とやりたいこと
以下形式のSQL(BigQuery)を実行した所、抽出対象データは0件の想定ですが、
3件とも抽出されてしまいます。想定通りの結果としたい場合の対処方法、または、考えられる原因がありましたら教えて頂けますでしょうか?
■状況
・comp_aテーブル単体での抽出の場合は抽出対象データは0件となりますが、comp_bテーブルを
結合すると条件に一致していないデータ3件が抽出されます。
・本来のSQLを公開できないため、以下はデータ構成、条件を再現したサンプルSQLとなります。
・とあるPCでは発生し、別のPCで発生しません。
・ブラウザのキャッシュは削除し、BigQueryのキャッシュ利用はOFFにしています。
・末尾3桁を除き、IN句の条件は一致しているため、前方一致のような条件になってしまったのではと思います。
■コード
SQL
1WITH a AS( 2 SELECT 3 001 AS id_a, 4 112345678901234567 AS x 5 UNION ALL 6 SELECT 7 002, 8 112345678901233567 9 UNION ALL 10 SELECT 11 003, 12 112345678901232568 13), 14comp_a AS( 15 SELECT 16 * 17 FROM 18 a 19 WHERE 20 x IN(112345678901234000, 112345678901233000, 112345678901232000) 21), 22comp_b AS( 23 SELECT 24 004 AS id_b 25 UNION ALL 26 SELECT 27 005 28) 29SELECT 30 id_a, 31 id_b 32FROM 33 comp_a 34 LEFT OUTER JOIN 35 comp_b 36 ON ( 37 comp_a.id_a = comp_b.id_b 38 ) 39WHERE 40 comp_b.id_b IS NULL 41;

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/27 21:21
2019/06/28 00:12 編集
2019/06/28 00:57 編集
2019/06/28 00:59
2019/07/09 16:24