Выберите идентификатор строки с уникальным значением - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть таблица с именем category, в которой пользователь может хранить значение категории расходов. Здесь еда и спорт - это одна комбинация, и они имеют одинаковый cat_id в базе данных.

cat_id  spending_category
1       food
1       sport
2       food
2       sport
2       movie
3       food
3       movie

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

1 Ответ

1 голос
/ 19 февраля 2020
SELECT cat_id
FROM category
GROUP BY cat_id
HAVING SUM(spending_category = 'food') + SUM(spending_category = 'sport') = COUNT(*)

Условия в функциях SUM () возвращают 1 или 0. Просто сравните их с количеством записей в каждой группе.

cat_id 2 будет иметь 3 записи, поэтому не будет возвращено .

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