У меня есть 3 таблицы в базе данных SQL Server 2008. Первая таблица содержит имена пользователей, второй содержит привилегии и последние ссылки первые две таблицы:Таблица возврата из SQL Query
ПОЛЬЗОВАТЕЛИ (ID
целое, NAME
VARCHAR (20));
PRIVS (ID
целое число, NAME
VARCHAR (50));
USERS_PRIVS (USERID
integer, PRIVID
integer);
Например, таблица USERS имеет следующее:
1, Adam
2, Benjamin
3, Chris
Таблица PRIVS имеет:
1, Add Invoice
2, Edit Invoice
3, Delete Invoice
Таблица USERS_PRIVS имеет:
1, 1
1, 2
1, 3
2, 1
2, 2
3, 1
Ищу для способ создания SQL-запроса, который бы возвращал примерно следующее:
Add Invoice Edit Invoice Delete Invoice
Adam Y Y Y
Benjamin Y Y N
Chris Y N N
Возможно ли это, используя функцию поворота?
Да. Существует много примеров «PIVOT» на этом сайте и в Интернете; что вы пробовали? –
@JonofAllTrades: Я попробовал несколько различных сводных предложений. Проблема, с которой я столкнулась, заключается в том, чтобы заголовки столбцов из таблицы PRIVS вместо hardcoding их в SQL, как и все приведенные ниже рекомендации. – Caynadian