0

DBには、tbl_user、tbl_games、tbl_usergamesの3つのテーブルがあります。

tbl_userにはIDと名前があります。

tbl_gamesにはidとnameがあります。

tbl_usergamesにはid_userとid_gameがあり、tbl_userをtbl_gamesにリンクします

名前が検索文字列と一致するゲームを持っているユーザーを返す検索を行いたいです。

SELECT tbl_user.*
FROM tbl_user, tbl_usergames 
WHERE tbl_user.id IN (
 **SELECT id
 FROM tbl_games
 WHERE name LIKE '%Mario%'**
)

これを試しましたが、0の結果が返されます。

4

1 に答える 1

1
SELECT u.*
FROM tbl_user u
JOIN tbl_usergames ug ON (u.id = ug.id_user)
JOIN tbl_games g ON (ug.id_game = g.id)
WHERE
    g.name LIKE '%Mario%'

両方のテーブルで結合する必要があります。

于 2013-03-18T18:45:50.087 に答える