我的数据库表有三列:[Date, Client, Value][1]
。
我想要一个只有三个客户的新桌子 - " Technics"," Metal Inc"," Sunny Day"和两个虚拟总列 - " Price" / 8月," Price" / 2017。
到目前为止我尝试了什么以及我得到了什么:open(_:completionHandler:)
为什么"对于八月"总SUM
下一行,但不是新列?
毕竟,我的代码说:SELECT SUM(Value) AS 'For August'
。
有什么想法吗?
答案 0 :(得分:0)
Union将为您提供行而不是列,对于这种情况,也许您可以使用子查询,尝试这样的事情
SELECT
t1.Client, SUM(t1.Value) AS 'For 2017', (SELECT SUM(t2.Value)FROM Test GROUP
BY t2.Client)AS 'For August'
FROM Test AS t1
JOIN Test AS t2
ON t1.Client = t2.Client
WHERE
t2.Date LIKE '%2017-08%'AND
(t2.CLient LIKE '%Technics%' OR t2.CLient LIKE
'%Metal Inc%' OR t2.CLient LIKE '%Sunny Day%')
AND
(t1.CLient LIKE '%Technics%'
OR t1.CLient LIKE '%Metal Inc%'
OR t1.CLient LIKE '%Sunny Day%')
GROUP BY t1.Client