如何爲以下請求編寫查詢? 我的表:如何比較行列值的多個參數?
id designation
1 developer,tester,projectlead
1 developer
1 techlead
if id=1,designation="'developer'"
這時需要的第一,第二records.Because 2行具有venkat。 if id=1,designation="'developer','techlead'"
則需要得到3條記錄。 我寫了一個服務插入到該表的記錄,所以我維護一張表來存儲與昏迷同列的所有指定。
通過使用服務,如果用戶通ID = 1個指定=「‘顯影劑’,‘techlead’」,那麼需要拉上述3 records.so即我正在維持只有一個表以保存所有指定
SP :
ALTER PROCEDURE [dbo].[usp_GetDevices]
@id INT,
@designation NVARCHAR (MAX)
AS
BEGIN
declare @idsplat varchar(MAX)
set @idsplat = @UserIds
create table #u1 (id1 varchar(MAX))
set @idsplat = 'insert #u1 select ' + replace(@idsplat, ',', ' union select ')
exec(@idsplat)
Select
id FROM dbo.DevicesList WHERE [email protected] AND designation IN (select id1 from #u1)
END
我們不需要硬編碼。如果用戶傳遞id = 1和desigantion =''developer','tester','techlead','projectlead'「就像傳遞多個參數一樣。那麼需要拉開發者,測試人員,techlead,projectlead記錄與傳遞ID匹配...... – user1237131 2012-04-01 07:04:45
@ user1237131:當然,您需要根據用戶的輸入創建該查詢,這只是最終查詢應該如何的一個示例。 – ChrisWue 2012-04-01 07:08:02
嗨可以ü請檢查我的SP,並請更改此.. – user1237131 2012-04-01 07:17:08