我必须执行多个工会才能获得随着时间推移而分手的价值。所以我有的字段是:CustomerName,CustomerID,2017Q1、2017Q3、2017Q4。每个季度位于一个不同的表中,因此我创建了一个视图,将所有这些视图结合在一起:客户名称,客户ID,季度(REUP得分)和YQ'20XXQX'。我很难将所有内容归为一组,因为它一直向我显示同一ID的多行。
我尝试进行所有并并执行左联接,最近我创建了一个主视图,将所有表合并到一个视图中,现在我试图透视数据,因此我可以为每个CustomerName,CustomerID获得1行,“ 2017Q1”,“ 2017Q3”,“ 2017Q4”等
SELECT
`2017Q1`.`customerInputName` AS `CustomerInputName`,
`2017Q1`.`customerInputCustid` AS `customerInputCustid`,
`2017Q1`.`REUP` AS `Quarter`,
'2017Q1' AS `YQ`
FROM
`ACC1_2017Q1` `2017Q1` UNION ALL
SELECT
`2017Q3`.`customerInputName` AS `CustomerInputName`,
`2017Q3`.`customerInputCustid` AS `customerInputCustid`,
`2017Q3`.`REUP` AS `Quarter`,
'2017Q3' AS `YQ`
FROM
`ACC1_2017Q3` `2017Q3` UNION ALL
SELECT
`2017Q4`.`customerInputName` AS `CustomerInputName`,
`2017Q4`.`customerInputCustid` AS `customerInputCustid`,
`2017Q4`.`REUP` AS `Quarter`,
'2017Q4' AS `YQ`
FROM
`ACC1_2017Q4` `2017Q4`
group by
`CustomerInputName`,
`customerInputCustid`,
结果:
customerInputName CustomerInputCustID 2017Q1 2017Q3 2017Q4
AMANDA 113345038 657 NULL NULL
AMANDA 113345038 NULL NULL 684
所需结果:
customerInputName CustomerInputCustID 2017Q1 2017Q3 2017Q4
AMANDA 113345038 657 NULL 684
答案 0 :(得分:0)
您可以像这样使用查询:
select
t.customerInputName, t.CustomerInputCustID,
max(t.2017Q1) 2017Q1, max(t.2017Q3) 2017Q3, max(t.2017Q4) 2017Q4
from (
<your query here>
) t
group by t.customerInputName, t.CustomerInputCustID