我需要的,如果存在返回行,如果不返回的傳遞價值之一是NOT EXISTS EXISTS:SQL服務器不能從多個表
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 Queries來查找哪個不存在。有更好的方法嗎?提前致謝。
我不明白你怎麼能確定哪一個是錯的。如果他們通過一個有效的員工,一個有效的部門和一個有效的城市,但他們並不都是有效的。你怎麼知道哪一個(或多個)是「不正確的」? – 2010-06-16 14:53:32
我假定OP意味着這3個值中的一個或多個不存在。 *錯誤*可能不是描述它的正確方法:或許*未找到*會更好。 – MJB 2010-06-16 16:52:13
MJB - 根據您的意見編輯(不存在) – 2010-06-16 17:14:36