У меня запрос к 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
запроса.