加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL:一个查询中有两个select语句

发布时间:2020-12-12 06:22:56 所属栏目:MsSql教程 来源:网络整理
导读:我想在一个查询中从两个SQL表中选择信息,但信息是不相关的,因此不存在潜在的关节. 一个例子可以是以下设置. tblMadrid id | name | games | goals 1 | ronaldo | 100 | 100 2 | benzema | 50 | 25 3 | bale | 75 | 50 4 | kroos | 80 | 10 tblBarcelona id |
我想在一个查询中从两个SQL表中选择信息,但信息是不相关的,因此不存在潜在的关节.

一个例子可以是以下设置.

tblMadrid

id | name    | games | goals
    1 | ronaldo | 100   | 100
    2 | benzema | 50    | 25
    3 | bale    | 75    | 50
    4 | kroos   | 80    | 10

tblBarcelona

id | name    | games | goals
    1 | neymar  | 60    | 25
    2 | messi   | 150   | 200
    3 | suarez  | 80    | 80
    4 | iniesta | 40    | 5

我想要一个查询,它给了我以下内容:

name    | games | goals
messi   | 150   | 200
ronaldo | 100   | 100

我试图遵循这个逻辑:Multiple select statements in Single query,但以下代码不起作用:

USE Liga_BBVA

SELECT (SELECT name,games,goals
        FROM   tblMadrid
        WHERE  name = 'ronaldo') AS table_a,(SELECT name,goals
        FROM   tblBarcelona
        WHERE  name = 'messi')   AS table_b
ORDER  BY goals

对此有何建议?谢谢
信息:足球的东西只是一个简化的例子.实际上,不可能将两个表放在一个并且有一个新的“团队”列.这两个表有完全不同的结构,但我需要一些与这个例子的特征相匹配的东西.

解决方法

你可以这样做:
(select
    name,goals
    from tblMadrid where name = 'ronaldo')
 union
 (select
    name,goals
    from tblBarcelona where name = 'messi')
order by goals;

参见,例如:https://dev.mysql.com/doc/refman/5.0/en/union.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读