est ici une question pour tous les SQL Server 2000 experts:SQL: Recherche de doublons dans un champ, mais en utilisant SubString()
J'ai seulement 1 table ... Je peux déjà trouver si l'une des valeurs un certain champ, apparaît également dans un autre enregistrement.
i.e. .: Est-ce que tout enregistrement ont « ABCDEFGHI » dans un champ, puis « ABCDEFGHI » à nouveau dans ce même domaine ... mais dans un autre dossier.
Mais je rencontre des problèmes lorsque j'essaie d'utiliser des sous-chaînes.
i.e. .: Est-ce que tout enregistrement ont « CDEF » dans un champ, puis à nouveau « DEFG » dans ce même domaine ... mais dans un autre dossier. (Edit:. Ce ne serait pas un match, bien sûr)
Je suis en train de comparer PARTIE 1 terrain, avec une partie de l'autre. Comparer uniquement les caractères de 3 à 6 caractères, avec les caractères 4 à 7. (J'ai besoin de spécifier mes propres fourchettes de début, pour les deux champs.) Ce que les lettres spécifiques sont ... n'a pas d'importance. Juste qu'ils "correspondent".
Cela ne semble pas fonctionner:
SELECT t1.ID + ' + ' + t2.ID
FROM InfoTable As t1
INNER JOIN InfoTable AS t2 ON t1.ID = SUBSTRING(t2.ID, 3, 4)
(Edit: Je dois aussi à la liste pas tous les dossiers qui sont juste eux-mêmes correspondants.)
Il est loin de clairement ce que vous essayez de trouver ici. Voulez-vous que tous les enregistrements contenant "CDEF" soient liés à tous les autres enregistrements contenant "DEFG" n'importe où? Est-ce que tous les enregistrements qui ont «CDEF» commencent à la position 3, sont liés à tous les autres enregistrements qui ont «DEFG» à partir de la position 4? Tous les enregistrements contiennent-ils les caractères 3 à 6 d'une chaîne commune, liés à tous les autres enregistrements comportant les caractères 4 à 7 de la même chaîne commune? Autre chose? –
Partout dans eux? Non, juste les sous-chaînes de début/fin que je spécifie. À partir de la position a, et b des caractères longs ... Correspondance des enregistrements commençant à la position c et d les caractères longs. (Bien sûr, b et d devraient être les mêmes pour qu'un match se produise.) – HelenJ