0

グループに参加した人のユーザー ID はあるテーブルにありますが、別のテーブルにある名前はありません。だから私は参加する必要があると思います。グループを説明する groupid から始めます。

表 1、groupmem にはメンバーのグループ ID とユーザー ID があります。

表 2、ユーザーにはユーザー ID とユーザー名があります

users テーブルにはすべてのユーザーが含まれています。groupmem には、グループに参加している一部の人しかいません。

SQL ステートメントは次のようなものでなければなりませんが、機能しません。

select users.name
FROM users,groupmem
LEFT JOIN users
on groupmem.userid=users.userid
WHERE groupmem.groupid = 22

22 being some value..

where句が間違った場所にあるか、間違ったタイプの結合を使用しているが、onを正しく使用していない可能性がありますが、いずれにしても機能しません。任意の提案のための Thx:

4

2 に答える 2

1

試す:

SELECT u.username
FROM `users` u
LEFT JOIN `groupmem` g
ON u.userid = g.userid
WHERE g.groupid = 22
于 2012-04-19T20:35:18.497 に答える
0

これでうまくいくはずです:

SELECT users.name
FROM groupmem
LEFT JOIN users ON groupmem.userid = users.userid
WHERE groupmem.groupid = 22

あなたのクエリはかなり正しいようです-私があなたのテーブル構造を正しく推測したと仮定します。

于 2012-04-19T20:36:33.727 に答える