-1
好所以我提出了前一天關於一個樞紐和主持人只是指出我的另一個問題,這不是答案,但我在另一個網站上找到我自己的。這與相同的SQL有關,但我需要做一個雙重支點。雙數據透視。沒有聚合然後聚合
這是我的代碼
CREATE TABLE #tempBene
(accountID varchar(8),
beneName1 varchar(30),
beneamount1 decimal(12,0)
)
INSERT INTO #tempBene
(accountID, beneName, beneamount)
VALUES
('1', 'One', 1),
('1', 'OneTwo', 1),
('1', 'OneThree', 1),
('1', 'OneFour', 1),
('1', 'OneFive', 1),
('1', 'OneSix', 1),
('2', 'TwoOne', 2),
('2', 'TwoTwo', 2),
('2', 'TwoThree', 2),
('3', 'ThreeOne', 3),
('3', 'ThreeTwo', 3),
('3', 'ThreeThree', 3),
('4', 'FourOne', 4),
('4', 'FourTwo', 4),
('5', 'FiveOne', 5)
SELECT ACCOUNTID, [1] as BENE1, [2] as Bene2, [3] as Bene3, [4] as Bene4, [5] as Bene5
INTO #TempBene
FROM
(SELECT ACCOUNTID, BeneficiaryName
ROW_NUMBER() OVER (PARTITION BY AccountID ORDER BY ACCOUNTID)
AS ROWNUM
FROM #TempAccount
WHERE DELETEFLAG = 'N') a
PIVOT (MAX(BENEFICIARYName) FOR RowNUM IN ([1], [2], [3], [4], [5])) AS pvt
上面的第一個支點得到總四周,給我什麼,我需要什麼部分。
我得到
ACCOUNTID Bene1 BENE2 BENE3 BENE4 BENE5
1 one onetwo
2 twoone twotwo twothree twofour twofive
我需要什麼,我無法弄清楚是如何包括與量,因爲我沒有做一個彙總。
我需要
AccountID Bene1 BeneAmt1 Bene2 BeneAmount2 ...
1 one 1 onetwo 1
2 onetwo 2 twotwo 2
很抱歉,如果這是簡單一些,但我n要能在我的金額與每個記錄去維護我的樞補充。
謝謝
這是一個有點難以跟隨你,因爲你給了我們的測試數據,但引用其他臨時表,並使它看起來像我們沒有反映出實際的模式示例數據。就像你給我們的問題的後半部分從第一個轉變爲第二個轉變。但幾乎在任何時候你需要不止一次地轉換你不應該使用PIVOT,而應該使用條件聚合。 – Matt