Запрос с несколькими условиями в SQL
У меня есть таблица MUSICIANS в которой есть поля с названием исполнителя, годом рождения, страной, и активностью (кто выступает, а кто нет. Это логическое поле). Задача такая: составить запрос к базе данных, при выполнении которого будут выдаваться на экран количество выступающих и закончивших выступления исполнителей в каждой из стран.
Я пыталась сделать хоть что-то, но никак не могу понять, как правильно задать условие. Это то, что пока есть:
SELECT COUNTRY, count(*) as Выступающие, count(*) as Закончившие выступать
FROM MUSICIANS where active = true or (where active = false) group by country ;
Не могли бы вы подсказать, как это сделать.
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
SELECT country,
-SUM(active) [Выступающие],
-SUM(NOT active) [Закончившие выступать]
FROM musicians
GROUP BY country
В MS Access логическое поле в числовом контексте преобразуется в 0 для FALSE и в -1 для TRUE.
Осталось их просуммировать по стране и нейтрализовать минус.