如何根据公共表从2个表中获取值

时间:2015-07-14 09:42:28

标签: mysql join

//表1(最喜欢的)

id || user_id || event_id || news_id
1        1          1           0
2        1          0           1

//表2(事件)

event_id || name || location || descr
   1        jit       ekm       demo 

//表3(新闻)

 news_id || title || news || location
    1       Demo      no       thr

我的问题来自Table 1,当news_id字段为0时,根据Table 2中的event_id值显示来自Table 1的值当event_id字段为0时,根据Table 3中的news_id值显示Table 1的值。

这可能吗?如何做到这一点。

1 个答案:

答案 0 :(得分:3)

这应该可以帮到你了 - 它根据favourite表中的值加入表格:

SELECT    f.id, f.user_id,
          e.event_id, e.name event_name, e.location event_location, e.descr event_descr,
          n.news_id, n.title news_title, n.news, n.location news_location
FROM      favourite f
LEFT JOIN event e ON e.event_id = f.event_id
LEFT JOIN news  n ON n.news_id  = f.news_id