[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『MicrosoftクエリにてSQLで複数条件で抽出しようとすると落ちる』(たらちゃん)
60ぐらい条件つけると落ちてしまいますが、
よくあることなのでしょうか。
対策とかありますか?
< 使用 Excel:unknown、使用 OS:Windows8 >
こんにちわ〜 ^^ すごい条件ですね^^; わたし、SQLはあまり詳しくない ← sqlだけか?。。。wすみません のでよくわかりかねますが。 データーだけ取り込むだけ取り込んで、あとはvbaで 条件[if文60件書くとか]ではだめなのでせうね。。。 vbaでも60個もif書いたこと無いか( ̄▽ ̄) そんな、単純なお話でなければ、このコメントは無視してくださいね〜〜〜 m(_ _)m (隠居Z) 2021/11/10(水) 14:07
select 1 from dual union all select num + 1 from tbl where num<100 ) select * from tbl where num = 1 or num = 2 or num = 3 or num = 4 or num = 5 or num = 6 or num = 7 or num = 8 or num = 9 or num = 10 or num = 11 or num = 12 or num = 13 or num = 14 or num = 15 or num = 16 or num = 17 or num = 18 or num = 19 or num = 20 or num = 21 or num = 22 or num = 23 or num = 24 or num = 25 or num = 26 or num = 27 or num = 28 or num = 29 or num = 30 or num = 31 or num = 32 or num = 33 or num = 34 or num = 35 or num = 36 or num = 37 or num = 38 or num = 39 or num = 40 or num = 41 or num = 42 or num = 43 or num = 44 or num = 45 or num = 46 or num = 47 or num = 48 or num = 49 or num = 50 or num = 51 or num = 52 or num = 53 or num = 54 or num = 55 or num = 56 or num = 57 or num = 58 or num = 59 or num = 60
(焼肉) 2021/11/10(水) 17:03
私自身は普段ADO使ってデータ取り出してますので、ちょっと事情が違うのかも知れませんが、 たまにめちゃくちゃ長いSQLになった時はエラーが返ってきますね。(それでも落ちはしませんけど)
たとえば20万件の商品マスタの内、特定の2万件に用事がある時、 その2万件を絞り込む条件が主キーしかないし規則性もない。 別テーブル作ってINNER JOINなりEXISTSなりしちゃえばいいんですが、 それ作る手間があるなら(どうせ一過性の処理出し)SQLで直接やっちゃおうとして...みたいなケースです。
たいてい1万件以内ずつに分けて処理したらイケたりします。
つまりこういう場合って「WHERE条件が多い」というよりは 結果的に「SQLが長すぎた」事が原因で、クエリそのものが成立せずエラーになった訳です。
なので実感としては 真っ当な条件なら60くらい屁でもないと思うんですよね。
って事は、 条件の連結方法(ANDとORの使い方とか?)に矛盾があったりして 例えばとてつもない量のデータを呼び出している事になってたりしないかな? とか 一旦、そっちの方を疑ってみた方がイイかも知れません。
(白茶) 2021/11/10(水) 18:10
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.