SQL Select 查询错误

SQL Select Query Error

这里我有一个table

expenses

在我的jtable中我想这样显示

我用这个sql代码

SELECT vehicle_id,SUM(amount) FROM expenses GROUP BY type_id;

我得到的输出是

但我想要它像上一张图​​片(长的那张)一样。我该怎么办?

备注

这里我使用了 Sum 来获取多个 amount 值。type_id用于表示各种费用类型,如柴油、机油、服务..

您可以使用条件聚合:

SELECT vehicle_id, 
       SUM(CASE WHEN type_id = 1 THEN amount ELSE 0 END) AS Diesel,
       SUM(CASE WHEN type_id = 2 THEN amount ELSE 0 END) AS Insurance,
       SUM(CASE WHEN type_id = 3 THEN amount ELSE 0 END) AS Tyre,
       SUM(CASE WHEN type_id = 4 THEN amount ELSE 0 END) AS Battery,
       SUM(CASE WHEN type_id = 5 THEN amount ELSE 0 END) AS Oil,
       SUM(CASE WHEN type_id = 6 THEN amount ELSE 0 END) AS Garage
FROM expenses 
GROUP BY vehicle_id;

您只需要 GROUP BY vehicle_id。然后根据type_id进行条件SUM操作。通过这种方式,您可以获得每个 vehicle_id.

type_id 的部分总和

Demo here