2016-08-26 1 views
0

Ich habe eine Tabelle mit Client-Codes und Client-Namen. Die zuvor verwendeten Client-Codes waren z.B. M 1003993. Sie wurden aktualisiert, und Client-Codes werden nun mit 1003993 erstellt. Die mit diesen Client-Codes verknüpften Clientnamen (beide M, 7) sind unterschiedliche Clientnamen, daher kann die Diskrepanz in Clientcodes nicht gefiltert werden unter demselben Kundennamen.SQL Server-Client-Codes und Client-Namen Diskrepanz basierend auf der ersten Nummer des Client-Codes mit verschiedenen Clients verbunden

Was ich brauche, ist, wie man 1 DISTINCT Client-Code extrahierte bekommen mit verknüpfen es Client-Name (M 1.003.993) und es das ähnlich mit seinen ganz eigenen Client-Namen DISTINCT Client-Code beitreten (1.003.993) Bedeutung dass ich eine Referenzliste von Codes benötige, bei denen der erste Buchstabe oder die Nummer des Kundencodes unterschiedlich ist, während die übrigen 7 Nummern gleich sind? All dies geschieht innerhalb von 1 Tabelle.

Meine Vermutung ist, dass die gleiche Tabelle mit mir selbst wieder verbunden werden sollte, aber wie dieser Querverweis zu erstellen, wenn wir (1.003.993) und (M 1.003.993) Codes mit unterschiedlichem Client-Namen.

Bild unten zeigt SELECT, vielleicht wird es helfen, zu erklären, was ich meine

enter image description here

ich Client-Namen für beide Codes M identifizieren müssen und 7, so 71.003.993 (Client-Name 1) = M1003993 (Kundenname 2), und dies ist für 260.000 Datensätze

+1

Bitte klären Sie, ob Sie MySQL oder Microsoft SQL Server verwenden; Sie haben Tags für beide. –

+0

Microsoft SQL Server – Igor

+0

Pls bieten einige Beispieldaten und erwartete Ausgabe als Minimum! Es ist ein bisschen schwierig zu interpretieren, was du willst – Shadow

Antwort

1

Wenn die letzten 7 Buchstaben des Client-Codes identisch sind, verwenden Sie den folgenden Code.

SELECT * 
FROM yourTable y1 
    JOIN yourTable y2 On RIGHT(y1.clientcode,7)= RIGHT(y2.clientcode,7) 
WHERE y1.clientcode like 'M%' AND y2.clientcode like '7%' 
+0

Hallo Unnikrishnan, danke !! Ja, das ist es: DISTINCT y1.chClientCode SELECT, y1.nvcClientName, y2.chClientCode, y2.nvcClientName VON core.tblclient y1 core.tblclient y2 auf der rechten Seite (y1.CHCLIENTCODE, 7) = RIGHT (y2 JOIN .CHCLIENTCODE, 7) WO y1.CHCLIENTCODE wie 'M%' UND y2.CHCLIENTCODE wie '7%' – Igor

+0

Großer Mann .. Markieren Sie es als richtige Antwort und geben Sie eine Upvote, wenn mein Code Ihnen geholfen .. das wird mir helfen Erhöhung meiner Punkte .. :); P –

+0

Hallo Unnikrishnan, würde ich gerne, aber ich bin zu diesem Zeitpunkt nicht in der Lage, weil ich jsut das Konto erstellt - "Danke für die Rückmeldung! Stimmen von Personen mit weniger als 15 Ruf werden aufgezeichnet, aber nicht die öffentlich angezeigte Post Punktzahl ' – Igor

Verwandte Themen