aru*_*lam 1 sql sql-server sql-server-2000
对不起来的标题很抱歉.
我有一个SQL查询
SELECT SaleDate, Location, SUM(DollarSales)
FROM [TableName]
WHERE (SaleDate= '2012-11-19' OR SaleDate= '2012-11-12')
GROUP BY SaleDate, Location
ORDER BY Location, SaleDate
Run Code Online (Sandbox Code Playgroud)
我得到如下结果
SaleDate Location (No column name)
2012-11-12 00:00:00.000 002 21500.38
2012-11-19 00:00:00.000 002 24166.81
2012-11-12 00:00:00.000 016 14723.26
2012-11-19 00:00:00.000 016 12801.00
Run Code Online (Sandbox Code Playgroud)
我希望结果看起来像
Location (Sale on 11/12) (Sale on 11/19)
002 21500.38 24166.81
016 14723.26 12801.00
Run Code Online (Sandbox Code Playgroud)
我不想使用内部选择.有什么方法可以做到这一点.这是我们使用SQL Server 2000的遗留系统之一.先谢谢你.
小智 5
你可以尝试:
SELECT
Location,
SUM(CASE WHEN SaleDate = '2012-11-12' THEN DollarSales ELSE 0 END)'Sale on 11/12'
SUM(CASE WHEN SaleDate = '2012-11-19' THEN DollarSales ELSE 0 END)'Sale on 11/19'
FROM [TableName]
GROUP BY Location
ORDER BY Location
Run Code Online (Sandbox Code Playgroud)
这仅在列是静态时才有效,如果日期发生变化,则必须更改此列.