Sql 总结各市场的平衡情况

Sql 总结各市场的平衡情况,sql,sql-server,Sql,Sql Server,大家好,我遇到了为我的案例陈述求总销售额的问题。我尝试在SalesYTD前面放一个求和函数,得到的错误是sales旁边的synthax错误。我还尝试了按salesytd分组,但没有成功,因为它给我的错误列“PERSON.StateProvinceID.StateProvinceID”在选择列表中无效,因为它不包含在聚合函数或GROUP by子句中。下面是我的问题。我的查询很好,我只是把它加起来 USE AdventureWorks2014; GO SELECT STATEPROV

大家好,我遇到了为我的案例陈述求总销售额的问题。我尝试在SalesYTD前面放一个求和函数,得到的错误是sales旁边的synthax错误。我还尝试了按salesytd分组,但没有成功,因为它给我的错误列“PERSON.StateProvinceID.StateProvinceID”在选择列表中无效,因为它不包含在聚合函数或GROUP by子句中。下面是我的问题。我的查询很好,我只是把它加起来

 USE AdventureWorks2014; 

 GO 

 SELECT  STATEPROVINCEID,A.NAME,A.COUNTRYREGIONCODE,(b.SALESYTD),  

 CASE 

 WHEN A.TerritoryID = '1' THEN 'WESTERN MARKET' 

 WHEN A.TerritoryID = '2' THEN 'NORTH EASTERN MARKET'

WHEN A.TerritoryID =  '3' THEN 'MID WESTERN MARKET' 

WHEN A.TerritoryID =  '4' THEN 'SOUTH WESTERN MARKET' 

WHEN A.TerritoryID =  '5' THEN 'SOUTH EASTERN MARKET' 
 ELSE 'OTHER' 

 END AS MARKET


FROM PERSON.STATEPROVINCE as A INNER JOIN SALES.SalesTerritory AS B

ON A.TerritoryID = B.TerritoryID 

WHERE A.CountryRegionCode = 'US' 

如果您只需要西南市场今年迄今为止的总销售额,那么您可以对该市场的
SALESYTD
列进行条件聚合:

SELECT SUM(CASE WHEN A.TerritoryID = '4' THEN b.SALESYTD ELSE 0 END) AS total_sales
FROM PERSON.STATEPROVINCE a
INNER JOIN SALES.SalesTerritory b
    ON a.TerritoryID = b.TerritoryID
WHERE a.CountryRegionCode = 'US'
如果您需要所有地区的总和,则可以使用
分组依据

SELECT a.TerritoryID, SUM(b.SALESYTD) AS total_sales
FROM PERSON.STATEPROVINCE a
INNER JOIN SALES.SalesTerritory b
    ON a.TerritoryID = b.TerritoryID
WHERE a.CountryRegionCode = 'US'
GROUP BY a.TerritoryID

我终于把一切都安排好了。谢谢大家。这是我的问题

SELECT SUM(b.SALESYTD) AS TOTALSALES,

case

when a.TerritoryID = '1' then 'WESTERN MARKET' 

WHEN A.TERRITORYID = '2' THEN 'NORTH EASTERN MARKET' 

when a.TerritoryID = '3' then 'MID WESTERN MARKET' 

WHEN A.TerritoryID = '4' THEN 'SOUTH WESTERN MARKET' 

WHEN A.TERRITORYID = '5' THEN 'SOUTH EASTERN MARKET' 

else 'OTHER' 

end as MARKETS

FROM PERSON.STATEPROVINCE a

INNER JOIN SALES.SalesTerritory b

ON a.TerritoryID = b.TerritoryID

WHERE a.CountryRegionCode = 'US'

GROUP BY a.TerritoryID

所有市场的所有销售额和市场专栏如何?比如西南=7亿美元