У меня проблема с унаследованной базой данных, для которой человек, который изначально настроил ее, оставил небольшую документацию.Как фильтровать определенный набор значений в SQL и только этот конкретный набор?
У меня есть набор пользователей, каждый из которых имеет три потенциальных профессии. При запросе, он возвращает значения, подобные этим:
USER_ID CAREER_ID TITLE
1 44 Agricultural Engineer
1 136 Educational Psychologist
1 132 Clinical Psychologist
18 245 3D Designer
18 2 Accountant - Private Practice
18 1 Accountant - Industry and Commerce
19 245 3D Designer
19 2 Accountant - Private Practice
19 1 Accountant - Industry and Commerce
20 128 Advice Centre Worker
20 130 Careers Adviser
20 129 Care Assistant
21 1 Accountant - Industry and Commerce
21 245 3D Designer
21 2 Accountant - Private Practice
23 245 3D Designer
23 2 Accountant - Private Practice
23 1 Accountant - Industry and Commerce
29 245 3D Designer
29 2 Accountant - Private Practice
29 1 Accountant - Industry and Commerce
30 219 PC Games Tester
30 173 Bouncer
30 103 Stunt Person
32 245 3D Designer
27 2 Accountant - Private Practice
27 1 Accountant - Industry and Commerce
27 245 3D Designer
30 219 PC Games Tester
30 173 Bouncer
30 103 Stunt Person
Как вы можете видеть, по какой-то причине, карьера 1, 2, и 245 устанавливаются по умолчанию. Теперь я хочу отфильтровать пользователей, у которых есть определенный набор карьеры, но не все их экземпляры, так как любой пользователь мог бы законно выбрать один или два набора.
Я могу жить с отфильтровыванием нечетного персонажа, который, возможно, действительно выбрал именно этот набор.
Надеюсь, кто-то может помочь. Я уверен, что решение довольно простое, но я не могу придумать это.
Какова структура таблицы для запроса выше? – Dan
Оператор, которого вы требуете, известен как «реляционное подразделение» («номера поставщиков для поставщиков, которые поставляют все детали»). SQL не реализует это напрямую, вам нужно будет сворачивать свои собственные. Многие обычно используемые подходы обсуждаются здесь: http://www.simple-talk.com/sql/t-sql-programming/divided-we-stand-the-sql-of-relational-division/ – onedaywhen
* Как вы можете видеть, по какой-то причине, карьеры 1, 2 и 245 установлены как значения по умолчанию * - Ну, я действительно не вижу, что делает 1, 2 и 245 отличными от 173 или 219. –