解决办法有两个:
1.使用INNER JOIN
替换IN
例:
SELECT foo
FROM bar
WHERE bar.stuff IN
(SELECT stuff FROM asdf)
转换为
SELECT b.foo
FROM (
SELECT DISTINCT stuff
FROM asdf ) a
JOIN bar b
ON b.stuff = a.stuff
2.多个or连接
select * from table_name
where
column_name in (V1,V2,V3,...V1000)
or
column_name in (V1001,V1002,V1003,...V2000)
...
参考:
- java.sql.SQLSyntaxErrorException: ORA-01795: maximum number of expressions in a list is 1000;
- SQL IN Clause 1000 item limit
最新评论
哦 谢谢 那我试试
有木马
下载不了了
怎么联系你呢?