2014-01-14 47 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