Есть ли IF / AND в SQL Server, как в Excel - PullRequest
0 голосов
/ 04 июля 2019

У меня есть два столбца, которые я должен сравнить.если оба или один столбец имеют значение 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...