我有一個表的格式如下Sql Server的轉動命令基於文本給空細胞
╔════════╦══════════════╦════════╦════════════╦══════════╦════════╦══════════╦══════════╗
║ Answer ║ QuestionText ║ type ║ QuestionID ║ ResultID ║ Action ║ Username ║ SurveyID ║
╠════════╬══════════════╬════════╬════════════╬══════════╬════════╬══════════╬══════════╣
║ FN 1 ║ First Name ║ text ║ 3467 ║ 2259 ║ 2259 ║ admin ║ 308 ║
║ LN 1 ║ Last Name ║ text ║ 3468 ║ 2259 ║ 2259 ║ admin ║ 308 ║
║ Male ║ Gender ║ radio ║ 3466 ║ 2259 ║ 2259 ║ admin ║ 308 ║
║ 12 ║ Age ║ number ║ 3469 ║ 2259 ║ 2259 ║ admin ║ 308 ║
║ FN 2 ║ First Name ║ text ║ 3467 ║ 2260 ║ 2260 ║ admin ║ 308 ║
║ LN 2 ║ Last Name ║ text ║ 3468 ║ 2260 ║ 2260 ║ admin ║ 308 ║
║ Female ║ Gender ║ radio ║ 3466 ║ 2260 ║ 2260 ║ admin ║ 308 ║
║ 12 ║ Age ║ number ║ 3469 ║ 2260 ║ 2260 ║ admin ║ 308 ║
╚════════╩══════════════╩════════╩════════════╩══════════╩════════╩══════════╩══════════╝
我使用下面的支點查詢它試圖支點。
SELECT [ResultID],[Username],[Action],[First Name],[Last Name],[Gender],[Age] from
(
select *
from #myTab
) as y
pivot
(
max(Answer)
for QuestionText in ([First Name],[Last Name],[Gender],[Age])
) as p
但我得到下表爲支點結果
╔══════════╦══════════╦════════╦════════════╦═══════════╦════════╦══════╗
║ ResultID ║ Username ║ Action ║ First Name ║ Last Name ║ Gender ║ Age ║
╠══════════╬══════════╬════════╬════════════╬═══════════╬════════╬══════╣
║ 2259 ║ admin ║ 2259 ║ NULL ║ NULL ║ NULL ║ 12 ║
║ 2260 ║ admin ║ 2260 ║ NULL ║ NULL ║ NULL ║ 12 ║
║ 2259 ║ admin ║ 2259 ║ NULL ║ NULL ║ Male ║ NULL ║
║ 2260 ║ admin ║ 2260 ║ NULL ║ NULL ║ Female ║ NULL ║
║ 2259 ║ admin ║ 2259 ║ FN 1 ║ NULL ║ NULL ║ NULL ║
║ 2260 ║ admin ║ 2260 ║ FN 2 ║ NULL ║ NULL ║ NULL ║
║ 2259 ║ admin ║ 2259 ║ NULL ║ LN 1 ║ NULL ║ NULL ║
║ 2260 ║ admin ║ 2260 ║ NULL ║ LN 2 ║ NULL ║ NULL ║
╚══════════╩══════════╩════════╩════════════╩═══════════╩════════╩══════╝
我不知道爲什麼我收到所有這些NULL
值。這將是一個很大的幫助,如果有人能告訴我這是爲什麼發生的,而正確的方式來獲得以下支點輸出:
╔══════════╦══════════╦════════╦════════════╦═══════════╦════════╦══════╗
║ ResultID ║ Username ║ Action ║ First Name ║ Last Name ║ Gender ║ Age ║
╠══════════╬══════════╬════════╬════════════╬═══════════╬════════╬══════╣
║ 2259 ║ admin ║ 2259 ║ FN 1 ║ LN 1 ║ Male ║ 12 ║
║ 2260 ║ admin ║ 2260 ║ FN 2 ║ LN 2 ║ Female ║ 12 ║
╚══════════╩══════════╩════════╩════════════╩═══════════╩════════╩══════╝
唉唉,ASCII表...:d –
您需要選擇只有你的子查詢所需的列。我更喜歡條件聚合到'pivot'語法。 –