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

2023-12-21

我想从一个查询中的两个 SQL 表中选择信息,但这些信息是不相关的,因此不存在潜在的联合。

以下设置就是一个示例。

tbl马德里

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

tbl巴塞罗那

   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

我试图遵循这个逻辑:单个查询中的多个 select 语句 https://stackoverflow.com/questions/1775168/multiple-select-statements-in-single-query但以下代码不起作用:

USE Liga_BBVA

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

对这个有什么建议吗?谢谢 信息:足球只是一个简单的例子。实际上,不可能将两个表放入一个表并拥有一个新的“团队”列。这两个表具有完全不同的结构,但我需要一些与这个示例的特征相匹配的东西。


你可以这样做:

 (SELECT
    name, games, goals
    FROM tblMadrid WHERE name = 'ronaldo')
 UNION
 (SELECT
    name, games, goals
    FROM tblBarcelona WHERE name = 'messi')
ORDER BY goals;

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL:一个查询中有两个 select 语句 的相关文章