Я пытаюсь свернуть базу данных так, чтобы только определенные строки становились столбцами. Ниже то, что моя таблица выглядит следующим образом:SQL Pivot только выбирает строки
ID QType CharV NumV
1 AccNum 10
1 EmpNam John Inc 0
1 UW Josh 0
2 AccNum 11
2 EmpNam CBS 0
2 UW Dan 0
Я хотел бы таблицу выглядеть следующим образом:
ID AccNum EmpNam
1 10 John Inc
2 11 CBS
У меня есть две основные проблемы, которые я пытаюсь объяснить.
1st: значение, которое я пытаюсь получить, не всегда находится в том же столбце. Поэтому, когда AccNum всегда находится в столбце NumV, EmpName всегда находится в столбце CharV.
2nd: Мне нужно найти способ игнорировать данные, которые я не хочу. В этом примере это будет строка с UW в столбце QType.
Ниже приведен код, который у меня есть:
SELECT *
FROM testTable
Pivot(
MAX(NumV)
FOR[QType]
In ([AccNum],[TheValue])
)p
Но это дает мне результат ниже:
ID CharV AccNum TheValue
1 10 NULL
2 11 NULL
2 CBS NULL NULL
2 Dan NULL NULL
1 John IncNULL NULL
1 Josh NULL NULL
Спасибо, что сработало отлично! Я ценю, что вы даете мне самый простой и простой ответ, а не то, что я думал, что хочу. –