LINUX.ORG.RU

SQL. Выборка по нескольким категориям

 ,


0

2

Доброго времени!

Есть база mysql с табличкой assign. У нее всего два поля - «категория» (строка) и «ИД_пользователя» (целое). В нее пишется принадлежность пользователя определенной категории (типа админ, модератор, куратор и т.п.). Пользователь может входить в несколько категорий, т.е условный vasja_pupkin с id 1234 может быть кем угодно одновременно. Мне нужно выбрать всех НЕ «админов», т.е если vasja_pupkin входит в «модераторы», но при этом он еще и «админ» в выборку он попасть не должен. Можно ли это сделать одним sql-запросом?

Заранее благодарю



Последнее исправление: alex-123 (всего исправлений: 1)

Ответ на: комментарий от alex-123

Конечо, возьми любой учебник по теории реляционных баз, вкури. Дальше останется только выучить dsl этих баз, где самый популярный на данный момент - sql со всеми своими диалектами. Потом небольшое усилие и у тебя готов запрос.

Anoxemian ★★★★★
()
Select * from assign where user_id not in (select user_id from assign where category = 'admin')

Что-то подобное?

Deleted
()

Что-то вроде select id from t where id not in (select id from t where cat = 'admin') and cat = 'moderator' group by id;

anonymous
()
Ответ на: комментарий от Deleted

Спасибо!

Работает. Здорово выручили.

alex-123
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.