Je suis en train d'écrire une procédure stockée qui vérifie si une chaîne contient des valeurs qui sont dans une autre table.Sql pour comparer une chaîne délimitée par rapport au tableau des valeurs connues pour trouver discordances
Je ne suis pas dans le contrôle de TableA et les données stockées dans cette colonne théorique de paquets est un ensemble délimité de mots. Pour démontrer, TableA contient une colonne, Paquets. Cette colonne contient une chaîne de paquets délimitée par des carets, E.G A^B
signifierait que cette rangée a 2 paquets.
TableB est un contrôle de tableau I qui énumère les paquets disponibles.
Comme on peut le voir, TableA a quelques lignes qui ne disposent pas d'un paquet correspondant; D
par exemple.
TableA
ID | Packages
============
1 | A
2 | A^B
3 | C
4 | A^B
5 | A^C
6 | D
7 | C^D
TableB
ID | Package
============
91 | A
92 | B
93 | C
Je suis en train d'écrire un script qui comparera les paquets dans TableA contre la liste connue du paquet dans TableB et sélectionnez une ligne de TableA qui fait ne pas avoir un paquet de soutien.
Une fois couru, je visais retourner un résultat similaire à cela,
TableAID | PackageNotSupported
================================
6 | D
7 | D
Je ne peux pas vraiment montrer ce que je l'ai essayé jusqu'à présent parce que je ne sais pas où commencer. J'ai une fonction dans la base de données qui divisera une chaîne délimitée dans une table. Je peux l'employer contre les données xx^xx^xx
mais je ne peux pas comprendre du tout comment joindre/comparer les chaînes.
J'ai essayé la solution trouvée dans ce post, How to compare multiple values in one column against a delimited string in a stored procedure mais n'a pas pu obtenir le résultat que je visais. En fin de compte SQL n'est pas mon fort et je n'ai pas la meilleure compréhension de la solution proposée dans ce post.
est la colonne d'identification unique dans les deux tableaux? – scsimon
Ref le close-vote. Quel autre site du réseau souhaiteriez-vous que je mette cette question de programmation? – Darren
@ scsimon- oui, l'ID est unique dans les deux tables. Je vais modifier le Q pour refléter cela et éliminer toute confusion. – Darren