4

让我先发布我的数据库结构。表:monsterdata - http://prntscr.com/92eet 表:user_team - http://prntscr.com/92eef

我希望 user_team(m1,m2,m3,m4,m5,m6) 中的数据与 monsterdata.id 匹配,以便我可以检索其他信息。我设法做的是只检索一个数据

    SELECT * FROM monsterdata LEFT JOIN user_team ON monsterdata.id=user_team.m1

但我真正想做的是,将 m2,m3,m4,m5,m6 包含到 monsterdata.id=user_team.X

这可能很愚蠢,但我更愚蠢的是不知道如何做到这一点。 谢谢您的帮助!

4

3 回答 3

7
    SELECT * 
    FROM monsterdata LEFT JOIN user_team 
    ON monsterdata.id=user_team.m1 AND/OR 
    monsterdata.id=user_team.m2 AND/OR ...

给你!

于 2012-05-10T04:42:06.370 回答
2

尝试这个。

SELECT * FROM monsterdata 
LEFT JOIN user_team 
ON (monsterdata.id=user_team.m1
OR monsterdata.id=user_team.m2
OR monsterdata.id=user_team.m3
OR monsterdata.id=user_team.m4
OR monsterdata.id=user_team.m5
OR monsterdata.id=user_team.m6)
于 2012-05-10T04:42:10.427 回答
0

您可以使用此条件:

SELECT * FROM monsterdata 
LEFT JOIN user_team 
ON monsterdata.id = COALESCE(
    user_team.m1,user_team.m2,user_team.m3,
    user_team.m4,user_team.m5,user_team.m6)
于 2012-05-10T04:48:02.737 回答