Reputation: 176
I have one master table as "master_tbl
" which has following fields :
m_id(PK)
m_name
Two slave tables which can be :
Slave-1 :
---------
sl1_id PK
sl1_name
sl_m_id FK
Slave-2 :
---------
sl2_id PK
sl2_name
sl2_m_id FK
I need output as in one query like the matching records details should be displayed like :
m_id m_name sl1_name(or sl2_name)
last displaying field should be take name of matching records from slave1
or Slave2
table.
Upvotes: 0
Views: 44
Reputation: 2437
Inner Join query Use
SELECT mt.name, s1.sl1_name, s2.sl2_name FROM master_tbl as mt
INNER JOIN Slave-1 as s1 ON s1.sl_m_id = mt.m_id
INNER JOIN Slave-2 as s2 ON s2.sl2_m_id = mt.m_id
Upvotes: 0
Reputation: 10476
SELECT m_id, m_name, sl1_name as `sl1_name(or sl2_name)` FROM slave_1 S1
INNER JOIN master_tbl M ON S1.sl1_m_id = M.m_id
UNION
SELECT m_id, m_name, sl2_name as `sl1_name(or sl2_name)` FROM slave_2 S2
INNER JOIN master_tbl M ON S2.sl2_m_id = M.m_id
Upvotes: 0