あるテーブルから条件に合致するデータを取得し、それらに合致するデータをさらに別のテーブルから取得する、ということをやろうとしています。テーブルを結合すればスマートなのでしょうが、それができない事情もあり、2段階で処理します。
最初に取得したデータの件数が10000件近くあり、次のテーブルから取得するために
select * from table where id = 1 or id = 2 or id = 3 ... or id = 10000
のように調子に乗ったクエリを書いていたら、
Expression tree is too large (maximum depth 1000)
というエラーが発生しました。
WHERE句に指定できる条件の数は999までのようで、1000以上はダメなようです。
仕方がないので、500件ずつ取得するようにしました。
またいつか、どこかで。
0 件のコメント:
コメントを投稿