Wenn alle Werte in Tabelle 2 Spalte2 Raum haben zwischen dem Ende des zweiten Namen und dem ersten (offen) Klammer dann könnte man diese verwenden:
SELECT SUBSTRING('Lynn Smith (Extra)',1,PATINDEX('%(%','Lynn Smith (Extra)')-2)
Wenn Sie 'Lynn Smith (extra)' ersetzen waren mit dem Spaltennamen:
SELECT SUBSTRING('name2',1,PATINDEX('%(%','name2')-2)
dann würde es eine Liste der Werte in Name2 ohne den Text in den Klammern anzeigen, mit anderen Worten, im selben Format (als solche) wie die Namen in name1 in table1.
SUBSTRING und PATINDEX sind String-Funktionen.
SUBSTRING fragt nach drei "Argumenten": (1) Ausdruck (2) Anfang und (3) Länge.
(1) Wie Sie oben das erste Argument sein kann, sehen kann (unter anderem) entweder eine Konstante - 'Lynn Smith (Extra)' oder eine Spalte - 'name2'
(2) Anfang des gewünschten Ergebnisses, in diesem Beispiel wird das erste (oder linke) Zeichen in der Zeichenfolge in der Spalte oder Konstante durch die Zahl 1 angezeigt.
(3) wie viele Zeichen möchten Sie sehen? das Ergebnis?In diesem Beispiel habe ich PATINDEX verwendet, um eine Nummer zu erstellen (siehe unten).
PATINDEX für zwei Argumente verlangt: (1)% Muster% und (2) Expression
(1) ist der Buchstabe oder eine Gruppe von Zeichen (Form oder 'Muster') Sie suchen, zu lokalisieren, die Grund für die Platzhalter %% jeder Seite des Muster ist, weil es
(2) ist
Zeichen auf jeder Seite des Musters sein kann (unter anderem) die konstante oder Spalte, die das Muster 1 von Argument enthält.
Während SUBSTRING cha zurückgibt racter data (Teil der Zeichenkette) PATINDEX erzeugt eine Zahl, diese Zahl ist das erste Zeichen im Muster (angegeben als Zahl, gezählt von der linken Seite des Ausdrucks).
Das ist perfekt, vielen Dank – Suzy