3
我有這樣的一個表:移調行到SQL列,而無需使用聚合功能,如MAX,AVG等
CREATE TABLE MyDataTable
(
[RollNo] varchar(8),
[QuesBlock] int,
[RespVal] varchar(2)
);
INSERT INTO MyDataTable ([RollNo], [QuesBlock], [RespVal])
VALUES ('MBA0001', 1, A), ('MBA0001', 2, B), ('MBA0001', 3, D),
('MBA0002', 1, C), ('MBA0002', 2, A), ('MBA0002', 3, B),
('MBA0003', 1, B), ('MBA0003', 2, C), ('MBA0003', 3, A);
因此,我的源數據是這樣的:
現在我想達到這樣的目標表結構:
這基本上是爲基於OMR的學校測試中的每個問題列出候選人明智的問題答案。我在QuesBlock列中有固定數量的唯一值(只有),所以我可以使用硬編碼。 我已經通過examples其中pivot已被用來實現這樣的事情,但他們都使用像MAX,MIN,AVG等集合函數處理數值。但在我的情況下,RESPVAL列的值都是文本的。我如何實現這一目標?
謝謝@SqlZim的深刻反應。幫了很多! – ducktorcoder
@ducktorcoder樂於幫助! – SqlZim