2016-07-25 6 views
1

Ich versuche, zwei SQL-Tabellen zu verknüpfenSQL verbindet - Ergebnis in einreihigen

Tabelle 1

id  | num | value  (Values can be 'N' number) 
------ | ------ | ------ 
X  | 1  | ZA 
X  | 2  | Z1 

Tabelle 2

id  | num | num2 
------ | ------ | ------ 
X  | 1  | 2 

Joing Tabelle ein Ergebnis in einer einzigen Zeile zu erhalten 1 und Tabelle 2

Was ich bekam:

Ergebnis Erwartet:

id  | num | value | num | value 
------ | ------ | ------ | ------ | ------ 
X  | 1  | ZA  | 2  | Z1 

Wie kann ich das tun?

+3

Sie müssen ein wenig ausarbeiten, und stellen Sie Ihre Anfrage. – scsimon

+0

Sie sollten Aggregation und eine GROUP BY verwenden, aber zu @ scsimon Punkt haben Sie uns nicht genügend Details zur Verfügung gestellt, um Ihnen zu sagen, wie. Was sind die Regeln für den Zusammenbruch verschiedener Werte, die Präzedenzfälle haben usw.? –

Antwort

2
Select t1.id, t1a.num, t1a.value, t1b.num, t1b.value 
from table2 t2 
left join table1 t1a on t2.num = t1a.num 
left join table1 t1b on t2.num2 = t1b.num 
+1

Ich würde Gleichheit auch auf die 'id' Spalten hinzufügen; es scheint wie eine vernünftige Interpretation der Frage. –

+0

Danke für deine Antwort Hogan :) – NewKid