【发布时间】:2016-11-02 06:13:12
【问题描述】:
我有一个 2927 id 的列表。我想获取该列表中所有 id 的行。我怎样才能做到这一点?它是一个逗号分隔的 id 列表。由于限制为 1000,因此 in 语句不起作用。我尝试过类似 Loop through pre defined values 的解决方案,但它没有达到我的预期。
我正在使用 toad,我希望查看数据网格中的行(多行、多列)。
提前致谢!
id 列表的外观如下:
67,122,173,256,284,285,288,289,291,294,296,298,301,320,346,359,366,425,428,454,528,573,576,584,593,654,654,694,722,838,1833,1976,1979,1979,2002,2004,2005,2045,2083,2109,2114,2126,2126,2157,2204,2204,2211,2212,2332,2576,...
当未达到 1000 的限制时,语句将如何:
Select * from tablename where tablename.id in (67,122,173,256,284,285,288,289,291,294,296,298,301,320,346,359,366,425,428,454,528,573,576,584,593,654,654,694,722,838,1833,1976,1979,1979,2002,2004,2005,2045,2083,2109,2114,2126,2126,2157,2204,2204,2211,2212,2332,2576);
【问题讨论】:
-
将所有这些值放在一个临时表中。
-
你为什么要使用这样的ID?如果超过 1000 个,您应该考虑将它们放在一个表中。
-
@neurotic-d 这给了我一个错误'string literal to long'
-
@PirateX 这是一个生产数据库,我可能不会更改。