SQL-从另一个表中选择两次具有不同值的列

delca7

我有一个包含两个表的数据库:一个是人的表,指出他们从事的运动;另一个是人的表。第二个是体育项目表格,其中显示了代表每个ID的体育项目。

人表

id   name  sport1  sport2
100  John  0       3
101  Max   1       3
102  Axel  2       4
103  Simon 4       2

运动桌

sportid  sportn
0        Football
1        Baseball
2        Basketball
3        Hockey
4        Swimming

我想做一个查询,向我展示Sport Max的做法,就像这样

id   name   sport1      sport2
101  Max    Baseball    Hockey

到目前为止,我已经知道了

select p.id, p.name, s.sportn, s.sportn 
  from persons as p, sports as s
 where p.sport1 = s.sportid and p.id = 101

这向我展示了两次第一项运动,所以我不知道从这里去哪里。

西蒙

您的查询存在问题,您只可以使用联接sports一次表p.sport1

此查询应为您提供所需的信息:

SELECT p.id, p.name, s1.sportn AS sport1, s2.sportn AS sport2
FROM persons AS p
    JOIN sports AS s1 ON p.sport1 = s1.sportid
    JOIN sports AS s2 ON p.sport2 = s2.sportid
WHERE p.id = 101

您还可以阅读sql join,以帮助您更好地了解此解决方案。

最后,如果您确实需要使用当前语法,这是更正后的查询:

SELECT p.id, p.name, s1.sportn AS sport1, s2.sportn AS sport2 
FROM persons AS p, sports AS s1, sports AS s2
WHERE p.sport1 = s1.sportid AND p.sport2 = s2.sportid AND p.id = 101

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据第二个表的另一个值(sql)在第一个表中选择一个值

来自分类Dev

SQL从一个表中选择两列,再从另一表中的列转换

来自分类Dev

SQL-如何从另一个表中选择列别名?

来自分类Dev

SQL选择-如果另一个表中存在值,则计算列

来自分类Dev

SQL:如何从另一个表中的一个表中选择不同的值?

来自分类Dev

从另一个表SQL更新列值

来自分类Dev

SQL选择-根据另一个表中的ID两次返回同一列

来自分类Dev

如何从一个表(具有两列的唯一组合)中选择所有SQL行,而另一个表中没有相同的组合

来自分类Dev

如何在SQL中的另一个表中选择与另一个值相对应的每个值

来自分类Dev

从表2中选择一个值,该值取决于表1(Oracle SQL)中的另一个值

来自分类Dev

SQL查询以基于另一个表中的列值从一个表中选择

来自分类Dev

SQL根据第一个值两次从同一表中获取不同的值

来自分类Dev

SQL查询以从一个表中选择,该表要么不在另一个表中,要么不在该表中具有特定值

来自分类Dev

如何在另一个表中更新Table1两列从MS SQL Server中选择查询

来自分类Dev

SQL插入语句,其中一个值从另一个表中选择

来自分类Dev

我想通过SQL根据另一个列从两个表中选择两个不同的列

来自分类Dev

视图中具有静态值的另一个表中的SQL Server列

来自分类Dev

SQL:如何从另一个表中的一个表中选择不同的值?

来自分类Dev

SQL选择-根据另一个表中的ID两次返回同一列

来自分类Dev

SQL从一个表中选择项目,从另一个表中选择条件

来自分类Dev

SQL如何从另一个表的所有行中选择用户

来自分类Dev

SQL,从另一个表中选择最大值

来自分类Dev

如何使用SQL将具有不同选择条件的多列插入到另一个表中

来自分类Dev

从另一个表中选择和拆分列值的 Sql 查询

来自分类Dev

SQL:从不包含来自另一个表的值的表中选择数据

来自分类Dev

SQL 查询从另一个表中选择 1 个表和 1 个列(与表 1 中的名称相同)中的所有内容

来自分类Dev

如何在T-sql中选择另一个表上具有最后相关记录的表的记录

来自分类Dev

SQL:在某些列中选择具有值的行,并且该值不包含在另一个表中

来自分类Dev

Sql从表中选择但使用另一个表值作为where子句

Related 相关文章

  1. 1

    根据第二个表的另一个值(sql)在第一个表中选择一个值

  2. 2

    SQL从一个表中选择两列,再从另一表中的列转换

  3. 3

    SQL-如何从另一个表中选择列别名?

  4. 4

    SQL选择-如果另一个表中存在值,则计算列

  5. 5

    SQL:如何从另一个表中的一个表中选择不同的值?

  6. 6

    从另一个表SQL更新列值

  7. 7

    SQL选择-根据另一个表中的ID两次返回同一列

  8. 8

    如何从一个表(具有两列的唯一组合)中选择所有SQL行,而另一个表中没有相同的组合

  9. 9

    如何在SQL中的另一个表中选择与另一个值相对应的每个值

  10. 10

    从表2中选择一个值,该值取决于表1(Oracle SQL)中的另一个值

  11. 11

    SQL查询以基于另一个表中的列值从一个表中选择

  12. 12

    SQL根据第一个值两次从同一表中获取不同的值

  13. 13

    SQL查询以从一个表中选择,该表要么不在另一个表中,要么不在该表中具有特定值

  14. 14

    如何在另一个表中更新Table1两列从MS SQL Server中选择查询

  15. 15

    SQL插入语句,其中一个值从另一个表中选择

  16. 16

    我想通过SQL根据另一个列从两个表中选择两个不同的列

  17. 17

    视图中具有静态值的另一个表中的SQL Server列

  18. 18

    SQL:如何从另一个表中的一个表中选择不同的值?

  19. 19

    SQL选择-根据另一个表中的ID两次返回同一列

  20. 20

    SQL从一个表中选择项目,从另一个表中选择条件

  21. 21

    SQL如何从另一个表的所有行中选择用户

  22. 22

    SQL,从另一个表中选择最大值

  23. 23

    如何使用SQL将具有不同选择条件的多列插入到另一个表中

  24. 24

    从另一个表中选择和拆分列值的 Sql 查询

  25. 25

    SQL:从不包含来自另一个表的值的表中选择数据

  26. 26

    SQL 查询从另一个表中选择 1 个表和 1 个列(与表 1 中的名称相同)中的所有内容

  27. 27

    如何在T-sql中选择另一个表上具有最后相关记录的表的记录

  28. 28

    SQL:在某些列中选择具有值的行,并且该值不包含在另一个表中

  29. 29

    Sql从表中选择但使用另一个表值作为where子句

热门标签

归档