Khushal
Khushal

Reputation: 176

Multiple table join query

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

Answers (2)

Maulik patel
Maulik patel

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

Earth Engine
Earth Engine

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

Related Questions