Я нашел инструкцию «CASE WHEN» очень полезную для моего запроса. Но это мой запрос (выбрать только):Sql Case Когда запрос
SELECT dbo.ARCHIVE.SYSTEM_KEY AS PROTOCOLLO,
CASE dbo.ARCHIVEDEST.ERR_ID WHEN 0 THEN 'OK' ELSE 'KO' END AS ESITO,
CASE WHEN dbo.ARCHIVEDEST.XMODE IN ('R', 'K', 'H') THEN 'RX' ELSE 'TX' END AS 'T/R',
CASE 'T/R' WHEN 'TX' THEN CONTACTORIGIN.address ELSE CONTACTDESTINATION.address END AS Utente,
проблема находится на третьем заявлении Case, потому что не оценить предыдущий запрос «T/R» (для всех записей он вернется «CONTACTORIGIN.address». можно это сделать или я нахожусь в неправильном
Также может рассмотреть возможность использования подзапросов или представления. – Gedrox
Просто редактировал мой ответ, добавляя подзапрос, хорошая точка :) –