我将徽标存储在varbinary(max)字段中。我正在寻找一个SQL语句,
select logo where customerid=5
但如果特定customerid的徽标为NULL,则
select logo where customerid=18
这是默认徽标。如果可能的话,我想在一个查询中执行此操作。可以这样做吗?感谢。
答案 0 :(得分:4)
SELECT COALESCE(b.logo, dflt.logo) AS logo
FROM mytable dflt
LEFT OUTER JOIN mytable b ON b.customerid=5
WHERE dflt.customerid=18
答案 1 :(得分:2)
SELECT TOP 1 logo
FROM [Table]
WHERE logo is not null and customerid IN (@CustomerID, 18)
ORDER BY CASE WHEN customerid= 18 THEN 1 ELSE 0 END
请注意我是如何处理订单的。我怀疑你可能有一些ID <18的客户和一些id> 18的客户,因此你需要小心。