我正在写这样的查询
SELECT *
FROM table
WHERE id IN (thousands of ids)
Run Code Online (Sandbox Code Playgroud)
但这是行不通的,因为WHERE IN在我们的SQL Server版本中,的值限制为128。
有没有一种方法可以使用带有联接的子查询或临时表?
任何帮助表示赞赏!
您可以使用VALUES来构造一个内联表,其中包含要考虑的所有值,然后JOIN到此表:
SELECT t1.*
FROM table AS t1
INNER JOIN (VALUES (10), (20), (12), ... ) AS t2(id)
ON t1.id = t2.id
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |