T-SQLでピボットを行うと、CUST_ID
のそれぞれ2015と2016のSUM(INVOICE_AMOUNT)
が返されます。T-SQLのピボットが構文エラーをスローする
しかし、私が使用しているSQLでエラーが発生します:
Incorrect syntax near '('
と私は構文エラーを識別することはできません。誰かがそれに間違っているとアドバイスできますか?
SELECT
H.CUST_ID, [2015], [2016]
FROM
(SELECT
H.INVOICE_AMOUNT, YEAR(H.INVOICE_DT)
FROM
BILLING_HEADER H) p
PIVOT
SUM(H.INVOICE_AMOUNT) FOR YEAR(INVOICE_DT) IN ([2015], [2016])) AS pvt
Year(INVOICE_AMOUNT)
は
「FOR」キーワードの後に 'YEAR(INVOICE_DT) 'を付けることができますか?私はコラムだけがここに現れると思う。 'YEAR(INVOICE_DT)'にエイリアスを与え、 'FOR'の後にそのエイリアスを使います。 – qxg
ああ! "エイリアスが必要です"ということを指摘してくれてありがとう...それは私が逃しているものです。私は列にエイリアスを与えて、それはトリックを動作させる! ( 'FOR'の後に' YEAR(INVOICE_DT) 'を動かすことなく)。あなたのコメントと洞察に感謝します。 – reilic