我有一个主表"master_tbl“,它有以下字段:
m_id(PK)
m_name两个从表,可以是:
Slave-1 :
---------
sl1_id PK
sl1_name
sl_m_id FK
Slave-2 :
---------
sl2_id PK
sl2_name
sl2_m_id FK我需要输出,就像在一个查询中一样,匹配记录的详细信息应该显示如下:
m_id m_name sl1_name(or sl2_name)最后一个显示字段应取slave1或Slave2表中匹配记录的名称。
发布于 2013-11-29 12:59:04
内部连接查询使用
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发布于 2013-11-29 12:51:37
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_idhttps://stackoverflow.com/questions/20278520
复制相似问题