SQL-连接上的多个子句?
让我先发布我的数据库结构。 表:数据- 表:用户团队- 我希望用户_团队(m1、m2、m3、m4、m5、m6)中的数据与monsterdata.id匹配,以便检索其他信息。我设法只检索了一个数据SQL-连接上的多个子句?,sql,Sql,让我先发布我的数据库结构。 表:数据- 表:用户团队- 我希望用户_团队(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\u team.X中 这可能很傻,但我更傻的是不
SELECT * FROM monsterdata LEFT JOIN user_team ON monsterdata.id=user_team.m1
但我真正想做的是,将m2、m3、m4、m5、m6包含到monsterdata.id=user\u team.X中
这可能很傻,但我更傻的是不知道怎么做。
谢谢你的帮助强>
SELECT *
FROM monsterdata LEFT JOIN user_team
ON monsterdata.id=user_team.m1 AND/OR
monsterdata.id=user_team.m2 AND/OR ...
好了 试试这个
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)
您可以使用以下条件:
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)
Hi@Jonas,假设其中一个(user_team.m1)为空会怎么样?查询将返回数据还是放弃该行?如果它是一个,那么它就会被丢弃。但因为它是一个OR,所以只要其中至少有一个不是空的,它就不会丢弃。对吗?