SQL:结果不存在时的if-condition?

时间:2010-09-02 19:40:04

标签: sql sql-server-2005 tsql

下面的以下sql片段是父sql的子选择。

有没有办法说,“如果客户不存在,我想运行不同的sql”?

select orderdate, 
    (select contactname from customers where customerID = 'ALFKI' or select 'No Customer') as contactname

from orders

我知道这可以通过加入来解决,但主要是对这种可能性感兴趣吗?

3 个答案:

答案 0 :(得分:1)

例如

IF NOT EXISTS (select * from customers where customerID = 'ALFKI')
BEGIN
    SELECT '1'
END
ELSE
BEGIN
    SELECT '2'
END

答案 1 :(得分:1)

请忽略这个问题。我应该一直疲惫地问,因为这个问题听起来甚至让我感到困惑。

当答案在其他地方时,原来我错了。答案是用优先括号解决的。对不起,感到困惑。

杆。

答案 2 :(得分:0)

你在这里尝试做的事情叫做LEFT JOIN和ISNULL:

select OrderDate, isnull(c.FullName, 'No customer') CustomerName
from Orders o
left join Customers c on o.CustomerId = c.CustomerId