Мне нужно получить данные для отчета, чтобы столбчатые данные теперь были данными строк:
empID planID coverage
----- ------ --------
15 1 100
15 11 200
15 12 NULL
15 13 500
20 1 100
20 11 250
20 12 400
20 13 NULL
Становится:
emp Basic Supplemental Spouse Dependent
--- ----- ------------ ------ ---------
15 100 200 500
20 100 250 400
Я пробовал различные JOINS и лучший вариант сценарияполучите в 4 раза больше результатов, поскольку он повторяется для каждой строки в предыдущей таблице.
SELECT DISTINCT
CASE benefitSelected.planID WHEN 1 THEN benefitSelected.coverageLev END AS Basic,
CASE benefitSelected_1.planID WHEN 11 THEN benefitSelected_1.coverageLev END AS Supplemental,
CASE benefitSelected_2.planID WHEN 12 THEN benefitSelected_2.coverageLev END AS Spouse,
CASE benefitSelected_3.planID WHEN 13 THEN benefitSelected_3.coverageLev END AS Dependent
FROM benefitSelected AS benefitSelected_3
FULL OUTER JOIN benefitSelected AS benefitSelected_2 ON benefitSelected_3.empID = benefitSelected_2.empID
FULL OUTER JOIN benefitSelected AS benefitSelected_1 ON benefitSelected_2.empID = benefitSelected_1.empID
FULL OUTER JOIN benefitSelected
RIGHT OUTER JOIN employee ON benefitSelected.empID = employee.empID
ON benefitSelected_1.empID = benefitSelected.empID
Что я делаю не так и как мне получить желаемые результаты?
Спасибо заВаше внимание!
РЕДАКТИРОВАТЬ: Результаты запроса PIVOT ниже
-- -------- --------- ---- --------
1 10000.00 NULL NULL NULL
1 NULL 0.00 NULL NULL
1 NULL NULL 0.00 NULL
1 NULL NULL NULL 0.00
8 10000.00 NULL NULL NULL
8 NULL 100000.00 NULL NULL
8 NULL NULL 0.00 NULL
8 NULL NULL NULL 10000.00
Должно быть:
-- -------- --------- ---- --------
1 10000.00 0.00 0.00 0.00
8 10000.00 100000.00 0.00 10000.00