我想在SQL Server(存儲過程)中執行CASE
語句,我應該檢查它是否應該從另一個表中獲取一些結果。SQL Server:案例與聲明「不在」
我只是做這件事來說明示例(不工作!)
SELECT
*
FROM
cards
WHERE
CardID = @CardID
AND
CardID =
CASE WHEN @AlreadyOnDeck = 1 THEN
IN (
SELECT CardID FROM OnDeckTable WHERE CardID = @CardID
)
CASE WHEN @AlreadyOnDeck = 0 THEN
NOT IN (
SELECT CardID FROM OnDeckTable WHERE CardID = @CardID
)
END
我需要的情況下IN
/NOT IN
取決於@AlreadyOnDeck
可變
要動態生成應包含如果@AlreadyOnDeck是1而不是0,如果SQL語句的一部分嗎? –
IIRC您無法通過使用SELECT獲取值來填充IN。 – Treborbob