2016-12-12 5 views
0

Ich möchte eine linke Verknüpfung zwischen einem verketteten Ergebnis von zwei Spalten der Haupttabelle und einer anderen Spalte der zweiten Tabelle erstellen. Meine Frage ist, ob diese Verbindung die Abfrageleistung beeinflussen soll? Gibt es einen besseren Weg, es zu tun?SQL Server Verkettung Join

Table A: Column1, Column2 
Table B: Column3 

Select * 
from Table A left Outer Join 
    Table B on Column1+Column2=Column3 

Ich schätze Ihre Hilfe.

Dank

+0

SQL Server als pro Titel oder MySQL gemäß den Tags? –

+0

Der Titel sagt SQL Server, aber MySQL uns markiert. Welche dieser Produkte verwenden Sie? – jarlh

Antwort

0

Das ist fein

Für SQL Server

Select * 
from `Table A` as a left Outer Join 
    `Table B` as b on a.Column1 + a.Column2 = b.Column3 

Für MySQL concat() verwenden

Select * 
from `Table A` as a left Outer Join 
    `Table B` as b on concat(a.Column1,a.Column2) = b.Column3 
+0

Beeinträchtigt dies nicht die Leistung? Danke :) –

+0

** (1) ** Wenn dies die Bedingung ist, dann ist dies die Bedingung. ** (2) ** Keine besonderen Probleme was auch immer. Alle Joins-Algorithmen sind hier gültig. –