我有下表imagetable ...
这是我的询问......
SELECT w.name as wholesaler_name,
w.outlet_id,
w.distributor_name,
w.distributor_id,
wt.name as tipe_plus,
v.target,
v.week as periode,
SUM(v.total_transaction),
v.rebate,
v.total_voucher
FROM voucher v
JOIN wholesalers w ON w.id=v.wholesaler_id
JOIN wholesaler_types wt ON w.wholesaler_type_id=wt.id
GROUP BY w.name,
w.outlet_id,
w.distributor_name,
w.distributor_id,
wt.name,
v.target,
v.week,
v.rebate,
v.total_voucher;
在periode
列中,一个2
的同一时段(11.2017
)有wholesaler_name
。我希望如此,如果发生这种情况,total_transaction
列将SUM()
。
我使用GROUP BY
但结果仍然相同。
希望你能提供帮助。
感谢。
答案 0 :(得分:0)
您可以使用子查询来简化您的sql语句。
select * from
(
SELECT yourPK, v.week as periode, sum(v.total_transaction)
FROM voucher v
JOIN wholesalers w ON w.id=v.wholesaler_id
JOIN wholesaler_types wt ON w.wholesaler_type_id=wt.id
GROUP BY yourpk, periode
) SumResult
join TheOthersTable on SumResult.yourPK = TheOthersTable.yourPK
答案 1 :(得分:0)
检查结果中的其他列。 例如,如果一个col
答案 2 :(得分:0)
chek total_vouchers
专栏。
在您的查询中,如果total_vouchers
的{{1}}相同,那么就可以了,因为您的查询最后一步会希望按11.2017
进行分组,在您的结果链接中我看不到{{ 1}},如果它们与total_vouchers
不相同,则从total_vouchers
中排除该列,并在{{}中选择或将该列放入Sum(),Count()....(聚合函数) 1}}部分