J'ai un problème avec une base de données héritée pour laquelle la personne qui l'a initialement créée a laissé peu de documentation.Comment filtrer pour un ensemble spécifique de valeurs dans SQL, et seulement cet ensemble spécifique?
J'ai un ensemble d'utilisateurs, chacun avec trois professions potentielles. Lorsqu'il a été interrogé, il renvoie des valeurs comme celles-ci:
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
Comme vous pouvez le voir, pour une raison quelconque, les carrières 1, 2, et 245 sont définies par défaut. Maintenant, je veux filtrer les utilisateurs qui ont ce jeu spécifique de carrières, mais pas toutes les instances d'entre eux, comme n'importe quel utilisateur aurait pu légitimement choisi un ou deux de l'ensemble.
Je peux vivre avec le fait de filtrer le caractère impair qui pourrait avoir choisi cet ensemble particulier exprès.
J'espère que quelqu'un peut vous aider. Je suis sûr que la solution est plutôt simple, mais je n'arrive pas à la trouver.
Quelle est la structure de la table pour la requête ci-dessus? – Dan
L'opérateur dont vous avez besoin est connu sous le nom de «division relationnelle» («numéros de fournisseur pour les fournisseurs qui fournissent toutes les pièces»). SQL ne l'implémente pas directement, vous aurez besoin de rouler le vôtre. Beaucoup d'approches couramment utilisées discutées ici: http://www.simple-talk.com/sql/t-sql-programming/divided-we-stand-the-sql-of-relational-division/ – onedaywhen
* Comme vous pouvez le voir, pour une raison quelconque, les carrières 1, 2 et 245 sont définies comme valeurs par défaut * - Eh bien, je ne vois vraiment pas ce qui différencie 1, 2 et 245 de 173 ou 219. –