gpt4 book ai didi

c# - 查询太复杂。如何修改查询?

转载 作者:太空宇宙 更新时间:2023-11-03 18:13:02 25 4
gpt4 key购买 nike

应用程序中的某些地方有一个自动生成的查询,例如

SELECT DISTINCT `Name`,`Number` 
FROM `Table`
WHERE (`ID`=@NAZ_ID_0)
OR (`ID`=@NAZ_ID_1)
OR (`ID`=@NAZ_ID_2)
OR (`ID`=@NAZ_ID_3)
...
OR (`ID`=@NAZ_ID_690)

在执行此查询时,ms access 抛出异常“查询太复杂”。显然是因为 OR 的数量在 ms Access 中被限制为 99。如何更改此查询并避免使用此 OR ... OR ... OR 结构?

最佳答案

如果您可以自己影响查询的创建,您可以简单地使用

    SELECT DISTINCT `Name`,`Number` FROM `Table` WHERE `ID` IN (@NAZ_ID_0,@NAZ_ID_1,etc)

如果您无法控制查询的创建,但可以在使用前对其进行更改,则可以尝试将 or-s 替换为 in-variant。最后,如果 IN() 也太复杂,您可以考虑创建一个临时表,用变量填充它并在原始查询中使用子查询。

关于c# - 查询太复杂。如何修改查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11135396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com