У меня есть два столбца, которые я должен сравнить.если оба или один столбец имеют значение Null, то мне нужно иметь новый столбец, чтобы сказать «Y», и если в обоих столбцах есть информация, то в новом столбце есть «N»
. Я попытался использовать coalesce, но это возвращаетвсе, что не является нулем в новом столбце.Случай, когда не работает с тем, как я пишу это ниже.
Есть ли другой способ сделать это?Я исследовал онлайн, кажется, ничего не могу найти.СЛУЧАЙ, КОГДА НЕ РАБОТАЕТ, есть что-то, чего я упускаю, и которое могло бы сработать.
вот пример кода из Advantage Works - 2-й случай не работает.
SELECT TOP 1000
[BusinessEntityID],
[TerritoryID],
[SalesQuota],
[Bonus],
[CommissionPct],
[SalesYTD], [SalesLastYear],
[rowguid],
[ModifiedDate],
COALESCE (TerritoryID, salesquota),
CASE
WHEN TerritoryID = 2 AND SalesQuota = 300000.00 THEN 'y' ELSE 'n'
END,
CASE
WHEN TerritoryID ISNULL AND SalesQuota ISNULL THEN 'y' ELSE 'n'
END
FROM
[AdventureWorks2012].[Sales].[SalesPerson]
Результаты:
colA ColB ColC
------------------
12 abc N
null null Y
14 null Y