2016-04-26 17 views
0

Es gibt zwei Tabellen, Schließung und Code.wie Unterabfrage zwischen zwei Tabellen

In CLOSURE Tabelle gibt es vier Spalten wie unten.

CLOSURE_SEQ  NUMBER    NOT NULL, 
SUPERTYPE_SEQ NUMBER    NOT NULL, 
SUBTYPE_SEQ  NUMBER    NOT NULL, 
VERSION_SEQ  NUMBER 

In CODE Tabelle gibt es zwei Spalten wie unten.

CODE_SEQ  NUMBER    NOT NULL, 
CODE   VARCHAR2(64 CHAR) NOT NULL 

Es gibt Beziehungen zwischen zwei Tabellen, SUPERTYPE_SEQ und SUBTYPE_SEQ in CLOSURE Referenz müssen CODE_SEQ in CODE-Tabelle.

1, würde ich gerne (SUPERTYPE_SEQ, SUBTYPE_SEQ) von CLOSURE gehören zu '1' VERSION_SEQ wie folgt. select SUPERTYPE_SEQ, SUBTYPE_SEQ from CLOSURE where VERSION_SEQ = 1; Es wird diese Zeilen zurückgeben.

SUPERTYPE_SEQ  SUBTYPE_SEQ 
23984305    23984305 
23984306    23984306 
23984306    23984307 
23984307    23984308 

2, aber ich habe nicht das Interesse an SUPERTYPE_SEQ, SUBTYPE_SEQ, sondern ich würde das reale CODE in CODE Tabelle zu sehen, wie durch die der Code-Tabelle zusammen wie folgt zu integrieren.

SUPERTYPE_CODE  SUBTYPE_CODE 
C027750    C027750 
C027751    C027751 
C027751    C027752 
C027752    C027753 

Für mich ist dies ein wenig schwierig zu lösen, können Sie bitte eine Lösung dafür bieten? Eigentlich bin ich immer noch verwirrt dieses Problem ist über Unterabfrage.

Antwort

0

Sie benötigen 2 verbindet:

SELECT sup.CODE as SUPERTYPE_CODE, sub.CODE as SUBTYPE_CODE 
FROM CLOSURE c 
LEFT JOIN CODE sup on c.SUPERTYPE_SEQ = sup.CODE_SEQ 
LEFT JOIN CODE sub on c.SUBTYPE_SEQ = sub.CODE_SEQ 
+0

Wow, es funktioniert gut. Ich danke dir sehr!! –

Verwandte Themen