мне нужно возвращать строки, если существует, если не вернуть, который один из переданного значения НЕ СУЩЕСТВУЕТ:SQL Server НЕ СУЩЕСТВУЕТ из более чем одной таблицы
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 разных запроса Exists, чтобы найти, какой из них НЕ существует. Есть ли лучший подход? Заранее спасибо.
Я не понимаю, как вы можете точно знать, какой из этих ошибок. Что делать, если они передают действительный сотрудник, действительный отдел и действительный город, но они не все действуют вместе. Откуда вы знаете, какой из них (или более) был «неправильным»? –
Я исходил из предположения, что OP означает, что 1 или более из этих трех значений не существует. * Неверно *, вероятно, не самый правильный способ описать это: возможно, * не найдено * было бы лучше. – MJB
MJB - Редактировано на основе вашего комментария (не существует) –