我有一个 SELECT 查询,其中第二个 CASE 语句的结果可能取决于第一个 CASE 语句的结果 - 例如:
SELECT ...,
CASE
WHEN dbo.Table1.Description LIKE '%car%' THEN 'Car'
WHEN ...
ELSE 'Unclassified'
END AS Product,
CASE
WHEN dbo.Table2.Description LIKE '%my%brand%' THEN 'Branded'
WHEN Product='Unclassified' THEN 'Unclassified'
ELSE 'Generic'
END AS Brand,
...
FROM ...
如果查询无法在描述列中找到品牌名称并且产品列也已确定具有值“未分类”,则品牌为“未分类”。目前,此语句仅输出“品牌”或“通用”品牌类型。即使产品是“未分类”,它仍然会给出“通用”,这不是我需要的输出。
有任何想法吗?