只是一個簡單的問題。我使用的是由用戶手動inputed單一的價值觀和做一個SQL查詢與兩列,如:使用IN與多列
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互操作訪問文件)
您可以使用表值參數傳遞的東西陣列,而不是隻用'DataTable's和存儲過程的http:/ /www.mssqltips.com/sqlservertip/2112/table-value-parameters-in-sql-server-2008-and-net-c/ –