我有一個SQL Server查詢爲:使用聯盟的SQL Server查詢 - 任何好的替代可能?
SELECT top 1 vConsentInfo FROM
(
SELECT cons.vConsentInfo,cons.dTimeStamp ,logs.iPartnerProfileID
FROM H_OutMessageLog logs INNER JOIN H_OutMessageConsent cons on cons.iOutMessageQID = logs.iOutQueueID
WHERE logs.iPatID = 65686 and logs.iPracID = 4
UNION
SELECT cons.vConsentInfo,cons.dTimeStamp,Q.iPartnerProfileID
FROM H_OutMessageQueue Q INNER JOIN H_OutMessageConsent cons on cons.iOutMessageQID = Q.iOutQueueID
WHERE Q.iPatID = 65686 and Q.iPracID = 4
) A
WHERE A.iPartnerProfileID = Prof.IPartnerProfileID
Order BY dTimeStamp DESC
表的工作原理爲:一個記錄插入到了H_OutMessageQueue
在開始時;那麼它插入H_OutMessageConsent
... 現在有從H_OutMessageQueue
處理記錄並登錄到H_OutMessageLog
....
我能擺脫這種UNION
東西一個單獨的工作進程?請注意,這是一個較大的CTE
查詢的子查詢。
爲什麼你想擺脫'UNION'? – Oded
我的意思是,如果有一些較強的構造這樣的,我不知道....其實我不得不做出的工會,這樣我可以進行排序,並得到這兩個表中最新的條目。 – Umer