我的数据库中有两个表。我努力加入这些表来获取数据。Mysql加入两个表问题
我的游戏桌看起来像这样
我fb_request表看起来像这样
我的目标是从游戏桌获取游戏信息,如场地,GAME_DATE,徽标user_id = 17。我在我的fb_requests表中设置了game_selected作为外键。请帮我写这两个表的连接查询。预先感谢。现在使用单独的选择查询来获取数据
我的数据库中有两个表。我努力加入这些表来获取数据。Mysql加入两个表问题
我的游戏桌看起来像这样
我fb_request表看起来像这样
我的目标是从游戏桌获取游戏信息,如场地,GAME_DATE,徽标user_id = 17。我在我的fb_requests表中设置了game_selected作为外键。请帮我写这两个表的连接查询。预先感谢。现在使用单独的选择查询来获取数据
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;
如果你想要的结果只有游戏中的用户已经接受,那么在'where'子句中附加'accept_status = 1',你的where语句应该是这样的,'where fb.user_id = 17 and accept_status = 1'; –
非常感谢您的帮助,现在我根据game_selected获得了4行。我如何获得不同的game_selected值? – Dibish
在where语句中传递第二个语句,比如'where where fb.user_id = 17 and accept_status = 1;'或者在where语句后面使用'group by fb.game_selected' –
试试这个,请检查你的表名
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
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_id
和game_selected
值的独特组合
我建议你通过Visual Representation of JOINS了解JOINS
的工作原理。
感谢你的一段代码 – Dibish
什么是您正在使用的当前查询? – asprin
首先从fb_request表中选择game_selected $ sql =“select DISTINCT(game_selected)FROM fb_requests where user_id ='”。$ user_id。“'”; 然后再根据第一选择查询结果获取场地,游戏日期,标识形式游戏桌。我知道它不是正确的做法。 – Dibish