我有一個問題,這看起來更好的方式在SQLfiddle: http://www.sqlfiddle.com/#!3/dffa1/2SQL Pivoting或轉置或...行到列?
我有一個表multirows與郵戳和測試結果每一個用戶,我想調換或者轉動成一行結果如下,其中每個用戶列出了所有的時間和價值的結果:
USERID PSA1_time PSA1_result PSA2_time PSA2_result PSA3_time PSA3_result ...
1 1999-.... 2 1998... 4 1999... 6
3 1992... 4 1994 6
4 2006 ... 8
見下表:
CREATE TABLE yourtable
([userid] int, [Ranking] int,[test] varchar(3), [Date] datetime, [result] int)
;
INSERT INTO yourtable
([userid], [Ranking],[test], [Date], [result])
VALUES
('1', '1', 'PSA', 1997-05-20, 2),
('1', '2','PSA', 1998-05-07, 4),
('1', '3','PSA', 1999-06-08, 6),
('1', '4','PSA', 2001-06-08, 8),
('1', '5','PSA', 2004-06-08, 0),
('3', '1','PSA', 1992-05-07, 4),
('3', '2','PSA', 1994-06-08, 6),
('4', '1','PSA', 2006-06-08, 8)
;
我不明白你想要的結果,你能澄清一下你有興趣看到什麼嗎?即'1 1999 -... 2'這些值不會同時出現在您的示例數據中。 –
我想用戶1已將所有信息列在一行中。因爲它是多行中每個測試結果與datestamp。即用戶1 - 具有不同日期和時間的四個結果。我希望用戶1將所有信息放在一行中:用戶1,test1,timeOftest1,resultOftest1,timeOftest2,resultOftest2 ...。現在用戶不總是有相同數量的結果。這是否更有意義?並感謝Formating。 – user2696868