解决办法有两个:
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
最新评论
接口密码是什么呀?
牛仔
一直在用的,感谢更新
哎。之前听推荐的,但是现在要付费了,否则硬解等都受到限制。