当前位置: 首页 > 知识库问答 >
问题:

如何连接两个表中具有相同列名但行值不同的两个SELECT查询

袁良弼
2023-03-14

我得到了一个表从SELECT查询1如下从SQL服务器:

我从SQL Server的SELECT query 2中获得了一个表,如下所示:

我想将这些SELECT查询加入到一个SELECT查询中,如下所示:

我试着这样:

SELECT * FROM ( SELECT Number,Name,Date FROM table1 ) t1
INNER JOIN ( SELECT Number, Name, Date FROM table2) t2
ON t1.number = t2.number

但它不起作用,这不是我想要加入的实际表。

基本上,我想连接两个具有相同列名但它们之间没有公共值的SELECT查询。我想使用连接表中的SELECT查询。

提前谢谢你。

共有2个答案

唐元凯
2023-03-14

UNIONUNION ALL是SQL运算符,用于连接2个或多个结果集。这允许我们编写多个SELECT语句,检索所需的结果,然后将它们组合成最终的统一集。

UNION和UNION ALL的主要区别在于:

联合:仅保留唯一记录联合:保留所有记录,包括重复记录

SELECT column1 AS datacheck from table1 
  UNION 
SELECT column1 AS datacheck from table2

结果:

+-----------+
| datacheck |
+-----------+
|   data2   |
+-----------+
SELECT column1 AS datacheck from table1 
  UNION ALL
SELECT column1 AS datacheck from table2

结果:

+-----------+
| datacheck |
+-----------+
|   data2   |
|   data2   |
+-----------+
莘昊
2023-03-14
    SELECT Number, Name, Date FROM table1
    UNION ALL
    SELECT Number, Name, Date FROM table2
 类似资料:
  • 我正在运行以下JOOQ查询: table和joinTable都有id作为主键名称,但最终获取实体类包含joinTable的id和table的其余列。如果我重新排序表,结果相似,我有表的ID和joinTable的其余列。

  • 问题内容: 我有两个表,它们的列数是可变的。(我不知道有多少列或名称会是什么),例如表A和表B。 表A: 表B 询问: 当TableA和TableB都具有相同名称的列时,我无法区分两个不同的列。例如,两个表都有“名称”列,此查询将导致: 我正在寻找一种区分两个表的方法。最好使用预定义的列名称,例如。 我知道“ AS”关键字,但是问题是我不知道这些列名称将是什么。(我不知道TableA或TableB

  • 问题内容: 我的MySQL数据库中有这些表: 通用表: Facebook表: 首席表: 基本上,常规表包含一些( 显然 )常规数据。基于generalTable.scenario,您可以在其他两个表中查找更多详细信息,这些表在某些熟悉的列中(例如,expiresAt),而在其他一些列中则不然。 我的问题是,如何仅通过一个查询就可以获取generalTable和正确的明细表的联接数据。 所以,我想这

  • 我在取消激发两个表之间的连接结果时遇到问题。这两个表定义为: 我想取消这一点,为每个ID/测试组合获取一行,以实现结果: 如果我在没有指定感兴趣的列的情况下编写unpivot,它看起来是这样的: 这会产生错误ORA-00918:列定义不明确 如果我尝试通过指定要使用的列来编写它,它看起来像这样: 这会产生错误ORA-01748:此处只允许使用简单的列名 有办法让这个unpivot工作吗?我可以将其

  • 我改变了切入点的顺序,它总是排在第二位。关于如何解决这个问题有什么想法吗? 更新 一旦我发布了这个问题,我就有了一个想法。我这样更改了切入点: 现在异常消失了,但仍然有一个小问题(我想这个问题更容易解决):因为ArrayList实现了可序列化,所以至少在我使用ArrayList的测试用例中,两个切入点都被执行了。 我将对此进行研究,并发布我的发现,但也感谢您的帮助;) 我将代码改为只使用一个切入点

  • 问题内容: 我有两个表,它们的定义如下: 和这里代表。 我做了一个简单的本地SQL只能加入到选择和为: 但是我在行上遇到异常: 堆栈跟踪 : 您能建议出什么事了吗? 问题答案: 您需要设置结果别名。