您的查询还可以,但可以进行一些改进:
SELEC Date, MAX(CASE WHEN Department = 'Toys' THEN Sales else 0 END) as [Toys], MAX(CASE WHEN Department = 'Movies' THEN Sales else 0 END) as [Movies]FROM Table$WHERe store in ('A', 'B')GROUP BY DateORDER BY Date;这将删除
distinct,而对于则不需要
groupby。它将条件
store移到该
where子句上,因为它适用于所有行。并且,它
ISNULL()通过
else0在
case语句中包括来删除,因此该部门中没有销售的商店将返回
0而不是
NULL。



