根据mysql中一个表中特定字段的条件获取其他表数据

时间:2016-07-13 10:10:58

标签: mysql

我有三张桌子

会议(id,name,weekly_plan_id,is_agent)

weekly_plan (id,plan)

meeting_agent (meeting_id,agent_id)这是映射表

meeting_contact (meeting_id,contact_id)这是映射表

现在我想要什么?根据会议 is_agent 字段中的条件获取表格,如果 1 ,则我想从中获取数据 来自 meeting_contact

meeting_agent 表格
git log --decorate --graph --oneline --all

1 个答案:

答案 0 :(得分:1)

然后你必须为每一列反复指定这个逻辑:

SELECT m.*,
       IF(m.is_agent='1',ma.agent_id, mc.contact_id) AS pid,
       IF(m.is_agent='1',ma.col1, mc.col1) ,
       IF(m.is_agent='1',ma.col2, mc.col2) ,
       ..........

或者在LEFT JOIN子句中使用ON这个条件,其中一个表列为空,另一个表用数据填充。