@anttoon
Python/Django

Как написать SQL запрос?

подскажите как написать SQL запрос (PostgreSQL)

есть 2 таблицы:

pesron(
1 name
)
events (
1 name
2 persons = many_to_many(Person)
)

т.е. в хэдере выводить все существующие мероприятия и если человек участвует, то показывает "Да", если не учавствуает то "Нет"
как написать sql запрос чтоб выводило так :
id человека | имя человека | мероприятие_1 | мероприятие 2 | мероприятие_3| и т д
1 | Иван | да | да | нет | и т д
1 | Сергей | нет | да | нет | и т д
1 | Светлана | нет | нет | нет | и т д
1 | Ирина | нет | да | да | и т д
  • Вопрос задан
  • 201 просмотр
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
Комментировать
@korus
Если количество мероприятий неизвестно (или их много для ручного ввода), то через XML PATH формируем строку для столбцов. Потом через PIVOT преобразуем строки в столбцы.
Еще можно посмотреть\почитать в сторону динамической сводной таблицы.
Если мероприятий всего 5, например, то можно через
SELECT
ID,
NAME,
MER_1 = COUNT( CASE WHEN mer='MER_1' THEN 1 END),
....
GROUP BY ID, NAME
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы