SQL选择查询错误

时间:2015-10-15 16:42:08

标签: java mysql sql swing jtable

这里我有一张桌子

  

  • id(PK)
  • type_id(FK)
  • 金额
  • 日期
  • vehicle_id(FK)

在我的 jtable 中,我想像这样展示enter image description here

我使用了这个sql代码

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

我的输出为

enter image description here

但是我想要它像以前的图像(长图像)..我能做些什么呢?

注意

这里我使用 Sum 获取多个金额值。 type_id 用于表示柴油,石油,服务等各种费用类型。< / p>

1 个答案:

答案 0 :(得分:1)

您可以使用条件聚合执行此操作:

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。然后根据SUM执行条件type_id操作。这样,您可以获得type_idvehicle_id的部分总和。

Demo here