我有這樣的子查詢:爲什麼我無法從外部查詢中的子查詢訪問定義爲「選擇1」的字段?
LEFT JOIN (SELECT 1 as exist
, MAX (ev.EventDate) as eventdate
, evt.EventCode
, CCaseID
FROM stg.Event ev
JOIN stg.EventTemplate evt
ON ev.EventTemplateID = evt.ID
WHERE evt.EventCode = 'UN002'
Group by CCaseID, evt.EventCode) as un002
ON un002.CCaseID = ev.CCaseID
WHERE evt.EventCode = 'UN001'
AND (un002.eventdate < ev.eventdate OR un002.eventdate IS NULL)
Group by ev.CCaseID, evt.EventCode) as un001
ON cc.ID = un001.CCaseID
我現在試圖訪問存在場在外部查詢按un001.exist
但SQL Server告訴我,這是一個無效的領域。我錯過了什麼?
如果列被稱爲1,只要嘗試用方括號所示的數目[1]包圍。 – russ
你問你爲什麼不能訪問主查詢中名爲「exist」的列嗎? –
那麼.... un001.exist不是一個有效的列。您將該子查詢命名爲un002。這會讓你更容易看到是否有更好的格式。 –