無法找到一個適當的例子(或者我只是看錯方向)。如何在WITH中使用IF語句?
根據傳入參數值,我需要更改WHERE
條件SELECT
。
例如,我買了價值「所有」參數@bookType
,我需要做這樣的事情:
IF @bookType = 'All'
SELECT * FROM tBooks
WHERE BookType != 'Template' AND BookGroup='Library'
ELSE
SELECT * FROM tBooks
WHERE BookType = @bookType AND [email protected]
看似簡單,但我需要這個IF內側:
WITH Books AS (
IF...
...
), bookIds AS (
...
...
)
這不起作用,因爲我開始收到'Incorrect syntax near IF'
。我究竟做錯了什麼?或者,也許有可能隱藏 WHERE
語句(根據參數值更改)?
標記您正在使用的dbms。 (該代碼是特定於產品的。) – jarlh
已更新的標籤(mssql,以及標籤將其更改爲sql server) –