解决办法有两个:
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
最新评论
本来在正常下载,突然就不能下载,并出现报错:a socket operation was attempted to an unreachable network。请问是什么原因呢
试了,还是不行,能不能更新一下
试了,确实不行,能不能更新一下
也推荐一下我自己写的 https://twitdown.com