我想做一個使用CASE語句的SELECT,並且我得到的錯誤沒有意義。我的語句似乎遵循任何SQL語法規則,但我得到了多部分標識符to_do。[item_id]和to_do。[item]無法綁定。 這沒有意義,因爲列名是相對於表列修正複雜的SQL情況何時
這裏是SQL:?
SELECT to_do.[item_id],
to_do.[item] = CASE to_do.encounter_id WHEN 0 THEN CONVERT(NVARCHAR, e.[date], 101) + ' - ' + p.[first_name] + ' ' + p.[last_name] + ' - ' + to_do.[item] AS to_do.[item] ELSE to_do.[item] END,
to_do.[complete],
to_do.[encounter_id],
e.[date],
p.[last_name] + ', ' + p.[first_name] AS [p_name]
FROM [dbo].[to_do] LEFT OUTER JOIN
[dbo].[encounter] e ON
to_do.[encounter_id] = e.[encounter_id] LEFT OUTER JOIN
[dbo].[patients] p ON
e.[mrn] = p.[mrn]
WHERE to_do.[user_id] = @user_id
任何想法,我做錯了基於斷過去的經驗,我應該能夠使用CASE這樣,但也許我我只是盯着它看了太久,並沒有看到明顯的。 謝謝!
發現這是正確的以及...我刪除了AS後 – Encryption