[SQL ] PIVOT 語法問題
資料庫名稱:Ms-SQL
資料庫版本:2008
內容/問題描述:
資料Table A
Orderno Time Price
-------------------------------
2018110101 20181101 100
2018110102 20181101 200
2018110201 20181102 300
2018110202 20181102 400
資料Table B
Orderno 付款方式 付款金額
-------------------------------
2018110101 現金 100
2018110102 信用卡 100
2018110102 現金 100
2018110201 現金 300
2018110202 信用 400
想要達查詢是
日期 金額 現金 信用卡
-------------------------------
20181101 300 200 100
20181102 700 300 400
用Access語法可以成功
transform 付款金額
Select 日期,Sum(Price) from A join B on A.orderno = B.orderno
Group by 日期
PIVOT 付款方式
但是SQL語法我試出來的結果是
日期 金額 現金 信用卡
-------------------------------
20181101 200 200 null
20181101 100 null 100
20181102 300 300 null
20181102 400 null 400
以下是我目前的語法
Select * from
(Select 日期,Sum(Price),Sum(付款金額)
from A join B on A.orderno = B.orderno
Group by 日期,付款方式
) as temp
PIVOT (SUM(付款金額)
FOR 付款方式
IN ([現金],[信用卡]))
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.30.56
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1542171721.A.EEA.html
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章