Sql server 如果pivot中为null或为空,则包含0计数

Sql server 如果pivot中为null或为空,则包含0计数,sql-server,Sql Server,我需要显示每个部分的数据,我的查询正在运行…几乎。这是我的语法 Select * From ( Select item As [item], Count(sold) As [Count], StoreName From saleinfo Group By item, storename ) first pivot ( Count([Count]) for item in ([brake pads], [rotors],[shoes],[drums] ) piv 现在我遇到

我需要显示每个部分的数据,我的查询正在运行…几乎。这是我的语法

Select * From
(
  Select item As [item], Count(sold) As [Count], StoreName
  From saleinfo
  Group By item, storename
)  first
pivot
(
  Count([Count])
  for item in ([brake pads], [rotors],[shoes],[drums]
) piv

现在我遇到的问题是,如果返回的计数为0,则结果中会忽略该项。这意味着,如果售出0个制动片,则制动片不会显示在我的结果集中。即使返回的计数为0,如何让它显示项目?

您可以使用ISNULL或COALESCE将NULL转换为0:

Select isnull([brake pads], 0) as [brake pads], isnull([rotors], 0) as  [rotors], isnull([shoes], 0) as [shoes], isnull([drums], 0) as [drums]
From
( 
...