基于备用列的MySQL查询列

时间:2018-07-24 05:14:49

标签: mysql

我已经在线浏览了一些条件MySQL类型的问题,但是没有遇到任何有助于该查询的问题,很可能我在互联网搜索中错误地描述了该问题,但是,如果有人可以提供帮助,将不胜感激。

假设我有一个标题为results的表,下面概述了三列,如何查询表中的James的所有队友?我知道我可以查询WHERE Team = 'B',但是,如果我不知道球队名称,我怎么得到詹姆斯的所有队友?

Team     Name   Place
A        John   1
B        James  2
B        Harry  3
C        Brad   4

我想返回的是以下内容:

Team     Name   Place
B        James  2
B        Harry  3

是否需要两种查询类型的方法?我首先在团队名称中查询James,然后使用该查询的输出进行第二次查询?

2 个答案:

答案 0 :(得分:1)

SELECT t1.* FROM results t1 where t1.Team IN
  (SELECT t2.Team FROM results t2 WHERE t2.Name='James')

OR

SELECT t1.* FROM results t1
   JOIN results t2 on t1.team=t2.team
where t2.name='James'

答案 1 :(得分:0)

您可以使用in运算符

SELECT * FROM results as t1 
where  t1.team in (SELECT team FROM results  WHERE name='James')