2011-07-11 1 views
0
Contest 
contest_id Launched  name 
------------------------------------------------------------------------- 
1   0    Cont1 
2   1    cont2 

participants 
participants_id  group_id  contest_id  puser_id 
------------------------------------------------------------------------- 
1      1    1    555 
2      1    1    666 

fusers 
fuser_id name 
------------------- 
555  Alex 
666  sabrina  

は、fusersでありますコンテストは開催されました。開始は1で、参加者はコンテストに参加することを決めたユーザーのIDを含むテーブルです。 fuser_id = puser_idMySQLのクエリの使用と

私が理解から、contest_id = 1がGROUP_ID、CONTESTNAMEと名前

+0

私はあなたの説明のテキストがあまりにも複雑で、私は簡単に理解できないでしょうね... –

+0

、ちょっとそこ – Rachit

答えて

0

あなたの説明は特に読みやすいではありませんが、私はこれがあると思いますあなたが欲しいもの。

SELECT fusers.fuser_id, fusers.name, Contest.contest_id, Contest.name 
FROM fusers 
LEFT JOIN participants ON fusers.fuser_id = participants.participants_id 
LEFT JOIN Contest ON Contest.contest_id = participants.contest_id 
WHERE (Contest.Launched = 1) 
+0

= 1がGROUP_ID、CONTESTNAMEと名前contest_idに参加している人を見つけるために助け に感謝をしたいです別のテーブル招待状があり、それを好きなら、 WHERE(Contest.Launched = 1) AND participants.puser_id = 1 OR participants.puser_id IN(1,2,3)OR(invitations.from = 1)招待状.to(6,5,7)) それは正しいです、私はユーザーID 1で招待されたすべてのユーザーを選択しようとしています – Rachit

+0

私はあなたが見ることができるように、 jsfiddleですか? – Rachit

+0

あなたは招待テーブルを追加するために別のJOIN条件を追加する必要がありますし、その条件をWHERE句に追加することができます – Leslie

0

に参加している人を見つけるたい:

SELECT f.name, p.group_id, c.name contestName 

FROM 
participants p 
JOIN fusers u on p.puser_id=u.fuser_id 
JOIN contest c on p.contest_id = c.contest_id 
WHERE c.launched = 1 
AND c.contest_id = 1 /*or any other contest_id*/ 
関連する問題