外圈SELECT出的欄位id 要當成 case裡的一個條件
真正要找的欄位 是 case裡再經過 if exists 檢查是不是有值後
再下一段SQL撈出的欄位值 中間 select '1' = '1' 就是在作這個 只是測試用先簡化了
IF EXISTS 這段單獨執行沒問題
但是放進CASE裡就會出現錯誤
請問有前輩能指導錯誤原因嗎?謝謝
SELECT
CASE id
WHEN '0'
THEN
'1'
ELSE
'3'
END
AS AID
FROM rsi
WHERE rid='7174'
以上可正確執行
以下也可正確執行
IF EXISTS (select '1' = '1')
select '1'
ELSE
select '0'
但這樣就會有錯
SELECT
CASE id
WHEN '0'
THEN
(
IF EXISTS (select '1' = '1')
select '1'
ELSE
select '0'
)
ELSE
'3'
END
AS AID
FROM rsi
WHERE rid='7174'
真正要找的欄位 是 case裡再經過 if exists 檢查是不是有值後
再下一段SQL撈出的欄位值 中間 select '1' = '1' 就是在作這個 只是測試用先簡化了
IF EXISTS 這段單獨執行沒問題
但是放進CASE裡就會出現錯誤
請問有前輩能指導錯誤原因嗎?謝謝
SELECT
CASE id
WHEN '0'
THEN
'1'
ELSE
'3'
END
AS AID
FROM rsi
WHERE rid='7174'
以上可正確執行
以下也可正確執行
IF EXISTS (select '1' = '1')
select '1'
ELSE
select '0'
但這樣就會有錯
SELECT
CASE id
WHEN '0'
THEN
(
IF EXISTS (select '1' = '1')
select '1'
ELSE
select '0'
)
ELSE
'3'
END
AS AID
FROM rsi
WHERE rid='7174'
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货