這就是我所看到的我們所有列表中的時間。 必須爲2列做一個過濾器(我拿了一個簡短的例子,我們有50列的列表,看起來一樣...)SQL:構建過濾器 - 可以在沒有動態sql的情況下完成嗎?
我想知道是否有辦法做到這一點不同。 你們用什麼來過濾表中的記錄?
/* parameters */
@CostNumber = ...
@Description = ...
/* parameters */
SET @strSQL = '
SELECT [CostLevelId], [CostNumber], [Description]
FROM [CostLevel]
WHERE 1 = 1 ' /* this looks weird, but we'll add the "WHERE" stuff easier */
IF (@CostNumber IS NOT NULL)
BEGIN
SET @strSQL = @strSQL + ' AND [CostNumber] LIKE ''%' + REPLACE(@CostNumber,'''','''''') + '%'' '
END
IF (@Description IS NOT NULL)
BEGIN
SET @strSQL = @strSQL + ' AND [Description] LIKE ''%' + REPLACE(@Description,'''','''''') + '%'' '
END
EXEC (@strSQL)