我有一个列为
的表格 Cost Rate
Repair 12
Repair 223
Wear 1000
Wear 666
Fuel 500
Repair 600
Fuel 450
Wear 400
现在我希望这些数据为
Repair Wear Fuel
825 2066 950
使用Sql查询
提前致谢
答案 0 :(得分:4)
select sum(case when cost = 'Repair' then rate else null end) as Repair
, sum(case when cost = 'Wear' then rate else null end) as Wear
, sum(case when cost = 'Fuel' then rate else null end) as Fuel
from CostRateTable
答案 1 :(得分:1)
可以使用SQL Server的PIVOT运算符获取所需的“轮换”(将行设置为列)。
答案 2 :(得分:1)
我认为您正在寻找一种方法来执行 Dynamic Pivoting 或 Dynamic Cross-Tabs 。
检查这些文章:
答案 3 :(得分:0)
使用SUM()
等聚合函数时,您可以使用GROUP BY
来合并结果。
SELECT Cost, SUM(Rate) FROM MyTable GROUP BY Cost
这将返回你所要求的结果,但我希望这不应该是一个大问题。
Cost SUM(Rate) --- --- Repair 825 Wear 2066 Fuel 950
答案 4 :(得分:0)
从费用
的表名组中选择费用,总和(费率)答案 5 :(得分:0)
您可以使用简单的交叉表查询执行此操作。 “访问查询”窗口中有一个向导,可指导您创建一个向导。只需单击“新建查询”按钮,然后选择“交叉表查询向导”。