我将徽标存储在 varbinary(max) 字段中。我正在寻找一条 SQL 语句,它说,
select logo where customerid=5
但如果特定客户 ID 的徽标为 NULL,那么,
select logo where customerid=18
这是默认徽标。如果可能,我想在单个查询中执行此操作。这可以做到吗?谢谢。
我将徽标存储在 varbinary(max) 字段中。我正在寻找一条 SQL 语句,它说,
select logo where customerid=5
但如果特定客户 ID 的徽标为 NULL,那么,
select logo where customerid=18
这是默认徽标。如果可能,我想在单个查询中执行此操作。这可以做到吗?谢谢。
SELECT COALESCE(b.logo, dflt.logo) AS logo
FROM mytable dflt
LEFT OUTER JOIN mytable b ON b.customerid=5
WHERE dflt.customerid=18
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 的客户,因此您需要在这里小心。