[英]MySql Subquerying 2 tables
我有2个不同的表,一个是比赛,另一个是球员,我试图运行,返回一个子查询name
(从players
表)和matchno
(从matches
)。 我可以让它返回一个或另一个,但不能同时返回两者。
另外,我的一些查询返回错误(在工作台6.0中)
错误代码:1242。子查询返回的行数超过1
具有讽刺意味的是杀死了我=)
我对此的逻辑是尝试使用规范化,即playerno
。
即:
select name
from players
where playerno in
(select matchno
from matches
group by matchno)
这仅返回玩家表中的名称。 我对MySql还是很陌生,已经搜寻了我的书和互联网,并且仍然在脑海中撞,任何帮助将不胜感激!!! 提前致谢
我找到了使用联接和子查询的查询:
select m.matchno, p.name
from (matches as m inner join players as p
on m.playerno = p.playerno)
我认为您只需要在查询中加入表。 如果您有这样的事情:
players table
id name
1 P1
2 P2
matches table
idm idplayer match
1 1 blah
2 1 bleh
3 2 fly
获取比赛和球员的查询将是
select players.id,
players.name,
matches.match
from players,
matches
where playes.id = matches.idplayer
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.