J'ai une base de données (NexusDB (supposément compatible SQL-92)) qui contient une table Item, une table Category et une table ItemCategory plusieurs-à-plusieurs, qui est juste une paire de clés. Comme vous pouvez vous y attendre, les éléments sont affectés à plusieurs catégories.Question SQL: exclusion des enregistrements
Je suis désireux de tout l'utilisateur final de sélectionner tous les éléments qui sont
ItemID | ID catégorie
--------------------------------
01 | 01
01 | 02
01 | 12
02 | 01
02 | 02
02 | 47
03 | 01
03 | 02
03 | 14
etc ...
Je veux être en mesure de sélectionner tous les années Itemid qui sont affectés à des groupes X, Y et Z, mais pas affectés à des groupes P et Q.
Pour l'exemple données ci-dessus Par exemple, disons que je voudrais attraper tous les objets assignés aux catégories 01 ou 02 mais PAS 12 (rapportant les articles 02 et 03). Quelque chose le long des lignes de:
SELECT ItemID OÙ (CategoryID IN (01, 02))
... et supprimer de ce jeu SELECT ItemID OU PAS (CategoryID = 12)
Ceci est probablement une question SQL assez basique, mais ça me bouscule pour le moment. Toute aide w/b apprécié.
Merci à tous! La réponse de Tom était parfaite pour ce dont j'avais besoin, mais tout était instructif pour moi. Beaucoup à apprendre sur SQL encore (je suis sûr que je serai de retour w/plus de questions) ... Merci pour l'aide. :) – Jamo