MySql Subquerying 2表

时间:2013-10-18 18:12:52

标签: mysql sql

我有两个不同的表,一个是匹配,另一个是玩家,我正在尝试运行一个子查询,返回name(来自players表)和matchno(来自{{ 1}})。我可以让它返回一个或另一个但不是两个。

我的一些查询也会返回错误(在工作台6.0中)

  

错误代码:1242。子查询返回的行数超过1行

具有讽刺意味的是杀了我=)

我对此的逻辑是尝试使用标准化,即matches

即:

playerno

这只返回玩家表中的名称。我是MySql的新手,并且已经搜索了我的书和互联网,我还在敲着墙头,任何帮助都将不胜感激!!!提前致谢

我找到了使用连接和子查询工作的查询:

select name 
from players
where playerno in 
(select matchno 
from matches
group by matchno)  

1 个答案:

答案 0 :(得分:0)

我认为你必须在查询中加入表。如果您有这样的事情:

   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