繁体   English   中英

MySql子查询2张表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM