2016-04-26 4 views
0

Есть две таблицы, закрытие и код.как подзапрос между двумя таблицами

В таблице CLOSURE есть четыре столбца, как показано ниже.

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

В таблице CODE есть две колонки, как показано ниже.

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

Есть отношения между двумя таблицами, SUPERTYPE_SEQ и SUBTYPE_SEQ в CLOSURE есть ссылка на CODE_SEQ в кодовой таблице.

1, я хотел бы получить (SUPERTYPE_SEQ, SUBTYPE_SEQ) от CLOSURE, принадлежащих '1' VERSION_SEQ, как указано ниже. select SUPERTYPE_SEQ, SUBTYPE_SEQ from CLOSURE where VERSION_SEQ = 1; Он вернет эти строки.

SUPERTYPE_SEQ  SUBTYPE_SEQ 
23984305    23984305 
23984306    23984306 
23984306    23984307 
23984307    23984308 

2, Тем не менее, у меня нет интереса в SUPERTYPE_SEQ, SUBTYPE_SEQ, вместо этого, я хотел бы видеть реальный CODE в CODE таблицу путем включения таблицы Кодекса вместе, как следующее.

SUPERTYPE_CODE  SUBTYPE_CODE 
C027750    C027750 
C027751    C027751 
C027751    C027752 
C027752    C027753 

Для меня это немного сложно решить, не могли бы вы предложить какое-то решение для этого? На самом деле, я все еще запутываю эту проблему в отношении подзапроса.

ответ

0

Вам нужно 2 присоединяется:

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

Ого, он хорошо работает. Огромное спасибо!! –

Смежные вопросы