我有三张桌子
会议(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
答案 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
这个条件,其中一个表列为空,另一个表用数据填充。