在SQL中挣扎与条件



这是我在这里的第一个帖子,我对SQL相当陌生。我很难返回正确的字段计数。我应该返回3行:Stores=701, Persons=18484, StoreWithContact=635。当PersonID和StoreID都不为空时,返回StoreWithContact=635。我试图添加一个额外的条件语句:

Select Count (StoreID ) as 'Stores', Count(PersonID) as 'Persons'
From Sales.Customer 
Where PersonID is Null or StoreID is Null or (PersonID is not null AND StoreID is not null)

但是当我这样做时,Stores和Persons的计数数发生了变化,因为它跟着我添加的附加条件语句。

我是新的SQL,我正试图找出这一点,但我迷路了!任何指导将不胜感激。提前感谢!

我所描述的视觉

您可以像这样使用条件求和

SELECT count(StoreID) AS Stores, 
count(PersonID) AS Persons,
sum(CASE WHEN PersonID IS NOT NULL AND StoreID IS NOT NULL 
THEN 1 
ELSE 0 
END) AS StoresWithContacts
FROM Sales.Customer 

相关内容

  • 没有找到相关文章

最新更新