解决办法有两个:
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
最新评论
没有央视频道,这怎么玩?
1.6.8很多频道,但80%都是失效的
启动微信不了,第一步就不行
azgkf或777