2014-01-14 45 views
0

我的数据库中有两个表。我努力加入这些表来获取数据。Mysql加入两个表问题

我的游戏桌看起来像这样

enter image description here

我fb_request表看起来像这样 enter image description here

我的目标是从游戏桌获取游戏信息,如场地,GAME_DATE,徽标user_id = 17。我在我的fb_requests表中设置了game_selected作为外键。请帮我写这两个表的连接查询。预先感谢。现在使用单独的选择查询来获取数据

+1

什么是您正在使用的当前查询? – asprin

+0

首先从fb_request表中选择game_selected $ sql =“select DISTINCT(game_selected)FROM fb_requests where user_id ='”。$ user_id。“'”; 然后再根据第一选择查询结果获取场地,游戏日期,标识形式游戏桌。我知道它不是正确的做法。 – Dibish

回答

1
Select g.venue,g.game_date,g.logo,fb.game_selected as game_id,fb.accept_status,fb.request_id 
from fb_request fb 
left join game g on (fb.game_selected=g.id) 
where fb.user_id=17; 
+0

如果你想要的结果只有游戏中的用户已经接受,那么在'where'子句中附加'accept_status = 1',你的where语句应该是这样的,'where fb.user_id = 17 and accept_status = 1'; –

+0

非常感谢您的帮助,现在我根据game_selected获得了4行。我如何获得不同的game_selected值? – Dibish

+0

在where语句中传递第二个语句,比如'where where fb.user_id = 17 and accept_status = 1;'或者在where语句后面使用'group by fb.game_selected' –

1

试试这个,请检查你的表名

Select tbl1.venue,tbl1.game_date,tbl1.logo tbl_game tbl1 
    inner join fb_request tbl2 on tbl1.id = tbl2.id 
    where tbl2.user_id = 17 
0
SELECT 
venue, game_date, logo 
FROM game_table JOIN fb_request_table 
ON (id = game_selected) 
WHERE user_id = $user_id 
GROUP BY user_id, game_selected 

GROUP BY可以确保得到user_idgame_selected值的独特组合

我建议你通过Visual Representation of JOINS了解JOINS的工作原理。

+0

感谢你的一段代码 – Dibish