Извините за хромое название, у меня сегодня плохие навыки описания.
В двух словах, у меня есть запрос, подобный следующему:
SELECT P.LAST_NAME, P.FIRST_NAME, D.DEMO_GROUP
FROM PERSON P
JOIN PERSON_DEMOGRAPHIC PD ON PD.PERSON_ID = P.PERSON_ID
JOIN DEMOGRAPHIC D ON D.DEMOGRAPHIC_ID = PD.DEMOGRAPHIC_ID
Это возвращает результат, подобный этому:
LAST_NAME FIRST_NAME DEMO_GROUP
---------------------------------------------
Johnson Bob Male
Smith Jane Female
Smith Jane Teacher
Beeblebrox Zaphod Male
Beeblebrox Zaphod Alien
Beeblebrox Zaphid Politician
Я бы предпочел, чтобы результат был похож на следующее:
LAST_NAME FIRST_NAME Male Female Teacher Alien Politician
---------------------------------------------------------------------------------------------------------
Johnson Bob 1 0 0 0 0
Smith Jane 0 1 1 0 0
Beeblebrox Zaphod 1 0 0 1 1
Количество строк в таблице DEMOGRAPHIC варьируется, поэтому я не могу с уверенностью сказать, сколько столбцовЯ нуждаюсь.Запрос должен быть гибким.
Да, это было бы тривиально сделать в коде.Но этот запрос является частью сложного набора хранимых процедур, представлений и служб отчетов, многие из которых находятся вне моей сферы влияния.Мне нужно произвести этот вывод в базе данных, чтобы избежать взлома системы.Есть идеи?
Кстати, это MS SQL Server 2005.
Спасибо.