Мне нужно вернуть строки, если они существуют, если нет, вернуть, какое из переданных значений НЕ СУЩЕСТВУЕТ:
DECLARE @INPUT1 BIGINT
DECLARE @INPUT2 BIGINT
DECLARE @INPUT3 BIGINT
SELECT e.Name, d.Name, c.Name
FROM Employee e
JOIN Department d ON e.DeptID = d.DeptID
JOIN City c ON e.CityID = c.CityID
WHERE
e.EmpID = @INPUT1
AND d.DeptID = @INPUT2
AND c.CityID = @INPUT3
В приведенном выше SQL все входные данные INPUT1, INPUT2, INPUT3 правильно переданы, возвращает строку. Если нет, мне нужно найти, какой INPUTx не так. Я знаю, что могу написать 3 разных запроса о существовании, чтобы выяснить, какой из них НЕ существует. Есть ли лучший подход? Заранее спасибо.