2016-12-09 3 views
0

У меня есть это две таблицыКак объединить в две таблицы с двумя значениями, чтобы присоединиться

tbl_Output 

    ref_id1 | desc1 | rec_type 
     1  value1  1  
     1  value2  2 



tbl_Output2 

    ref_id2 | desc2 | rec_type 
     1  value3  1 
     1  value4  2 

Как я могу присоединиться к этому две таблицы? Для того, чтобы показать

ref_id1 | desc1 | ref_id2 | desc2 | rec_type 
    1  value1  1  value3  1 
    1  value2  1  value4  2 

Вместо

ref_id1 | desc1 | ref_id2 | desc2 | rec_type 
    1  value1  1  value3  1 
    1  value2  1  value4  2 
    1  value1  1  value3  1 
    1  value2  1  value4  2 

Here is my Query: 
SELECT * 
    FROM tbl_Output1 as O 
    inner JOIN tbl_Output2 as O2 on 
    O.ref_id1 = O2.ref_id2 

Примечание: Я уже использовал различные виды соединения.

+0

Можете ли вы переформатировать свою верхнюю часть? –

+0

Соответствует ли 'rec_type'? – PHPglue

+0

Да, он должен. Я смог присоединиться к нему, используя предложение @ tim. –

ответ

1

Try вступления в оба в id1/id2 колонны и в rec_type колонны:

SELECT t1.ref_id1, 
     t1.desc1, 
     t2.ref_id2, 
     t2.desc2, 
     t1.rec_type 
FROM tbl_Output t1 
INNER JOIN tbl_Output2 t2 
    ON t1.ref_id1 = t2.ref_id2 AND 
     t1.rec_type = t2.rec_type 

Демо здесь:

SQLFiddle

1

Это, вероятно, самый простой способ:

SELECT o1.ref_id1,o1.desc1,o2.ref_id2,o2.desc2,rec_type FROM tbl_Output1 o1 
    INNER JOIN tbl_Output2 o2 USING(rec_type); 

Вот SQL Fiddle.

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