Использование значений из одной таблицы в качестве имен столбцов в представлении - PullRequest
0 голосов
/ 26 августа 2011

У меня есть две таблицы

Таблица 1 (все Int): ID, SomeValue, Category, Dept

Таблица 2: CategoryID, VarChar CategoryName

Есть около 14 категорий.

Теперь мне нужно представление, похожее на DeptID, Cat1, Cat2, Cat3....Cat14

Пример строки: Музыка, 1, 4, 55, 6, 3 ....

Таким образом, в основном каждый отдел имеет свою собственную строку, которая показывает все значения из таблицы 1, которые используют этот отдел.
Мне также нужны имена столбцов, сгенерированные в Таблице 2. Я думаю, что там я потерялся.

Как мне это сделать?

1 Ответ

0 голосов
/ 26 августа 2011

Вы можете сделать поворот, используя group_concat

SELECT 
  dept.id as dept_id
  dept.name as dept_name
  , group_concat(cat.CategoryName) as cat_names
FROM table1 as dept
INNER JOIN table2 as cat ON (dept.category = cat.category_id)
GROUP BY dept.id

Поскольку это MySQL, вам не нужно group by на dept.name, потому что он полностью зависит от dept.id.

См .: http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...