【发布时间】:2013-05-15 09:34:52
【问题描述】:
只是一个简单的问题。我正在使用用户手动输入的单个值并执行 SQL 查询比较两列,例如:
SELECT col3,col1,col4 FROM table WHERE
col1='SomeReallyLongText' OR col2='SomeReallyLongText'
SomeReallyLongText 的重复是可以容忍的,但我的程序还支持循环遍历具有数百行的 Excel 文档 - 这意味着我将这样做:
SELECT col3,col1,col4 FROM table WHERE
col1 IN('item1','item2',...'itemN') OR col2 IN('item1','item2',...'itemN')
而且查询会非常长,我无法想象这是有效的。 有没有办法缩短这个,以便可以将两列与同一个 IN(xxx) 集进行比较?
如果没有,还有其他(更有效的)方法可以在查询中给出一组值吗?
(我使用 C# 和 .NET 4.0 客户端配置文件,使用 Excel 互操作访问文件)
【问题讨论】:
-
您可以使用表值参数来传递事物数组,而不仅仅是
DataTables 和存储过程mssqltips.com/sqlservertip/2112/…
标签: sql sql-server c#-4.0 multiple-columns