2013-05-09 60 views
0

該查詢返回只有一行我的SQL查詢在where子句給出了一個行作爲輸出

Set @id='2,3,4,5,6,7,8,9'; 
Set @typers=1; 
Select * from Employee where (@typers=1 and pkEmpId in (@id)); 

如果我們直接在指定2,3,4,5,6,7,8,9查詢它的作品,我知道這是因爲「'」。

但我m如果同樣的問題時,我將值作爲參數的過程

call CalculateStandardFinalRun('0','4','1900-01-01 00:00:00','1900-01-01 00:00:00','5','1','2,3,4,5,6,7,8,9'); 

我怎樣才能得到所有值

回答

1

我想你應該試試這個

Select * from Employee where (@typers=1 and FIND_IN_SET(pkEmpId, @id))); 
+0

: - 謝謝你,我的作品 – Shashank 2013-05-09 12:15:52

0

@id項目是一個字符串。您可能也使用了此語法

pkEmpId in ('something-or-other') 

它不會做你想做的。 in列表中的每個項目必須是單獨的數據項。

+0

: - 我還張貼追問之前試過,但它沒有給出記錄 – Shashank 2013-05-09 12:09:34

相關問題