I have a query with 4 columns like the following
(Select PAPROJNUMBER, PACOSTCATID,EMPLOYID, PADT, PABase_Qty from PTE10001
where padt between '2017-04-09' and '2017-04-11'
order by PADT)
and I get the result like this:
PAPROJNUMBER PACOSTCATID EMPLOYID PADT PABase_Qty
HOTELEDGER CONSULTING ACKE0001 2017-04-09 00:00:00.000 1.00000
HOTELEDGER CONSULTING ACKE0001 2017-04-09 00:00:00.000 2.00000
HOTELEDGER CONSULTING ACKE0001 2017-04-09 00:00:00.000 2.00000
HOTELEDGER CONSULTING ACKE0001 2017-04-09 00:00:00.000 4.00000
HOTELEDGER CONSULTING ACKE0001 2017-04-09 00:00:00.000 6.00000
HOTELEDGER CONSULTING ACKE0001 2017-04-10 00:00:00.000 3.00000
HOTELEDGER CONSULTING ACKE0001 2017-04-10 00:00:00.000 4.00000
HOTELEDGER CONSULTING ACKE0001 2017-04-10 00:00:00.000 2.00000
HOTELEDGER CONSULTING ACKE0001 2017-04-11 00:00:00.000 0.00000
HOTELEDGER CONSULTING ACKE0001 2017-04-11 00:00:00.000 0.00000
HOTELEDGER CONSULTING ACKE0001 2017-04-11 00:00:00.000 3.00000
I am looking for something like this as an output
PAPROJNUMBER PACOSTCATID EMPLOYID PABase_Qty 4/9/17 4/10/17 4/11/17
HOTELEDGER CONSULTING ACKE0001 1.00 1.00 3.00 0.00
HOTELEDGER CONSULTING ACKE0001 2.00 2.00 4.00 0.00
HOTELEDGER CONSULTING ACKE0001 2.00 2.00 2.00 3.00
HOTELEDGER CONSULTING ACKE0001 4.00 4.00 0.00 0.00
HOTELEDGER CONSULTING ACKE0001 6.00 6.00 0.00 0.00
Can you please help with a query like this?
So you need to pivot it out. Add more case statements as necessary:
select PAPROJNUMBER,
PACOSTCATID,
EMPLOYID,
sum(case when PADT = '2017-04-09' then PABase_Qty else 0 end) as date_4_9_17,
sum(case when PADT = '2017-04-10' then PABase_Qty else 0 end) as date_4_10_17,
sum(case when PADT = '2017-04-11' then PABase_Qty else 0 end) as date_4_11_17
from PTE10001
where PADT between '2017-04-09' and '2017-04-11'
group by PAPROJNUMBER,
PACOSTCATID,
EMPLOYID
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.