SQL Server如何合并两个列名相同无公共值的SELECT查询结果
错误原因分析
你使用的INNER JOIN是横向合并列的关联语法,作用是基于关联条件将两个表的字段拼接到同一行展示,而非上下拼接行。加上你提到两个结果集没有公共关联值,这条语句最终返回的是空结果,完全不符合需求。
正确实现方法
要实现两个结构完全一致的结果集上下拼接,保留全部行数据,应该使用UNION ALL语法,使用规则如下:
- 两个SELECT语句返回的字段数量、字段类型、字段顺序必须完全一致
UNION ALL会保留两个结果集的所有行(包括重复行),如果需要自动去重可以替换为UNION
你要保留两个表全部8行数据,直接用UNION ALL即可,示例语句如下:
SELECT Number, Name, Date FROM table1 UNION ALL SELECT Number, Name, Date FROM table2
内容的提问来源于stack exchange,提问作者Logesh
相关产品推荐
相关产品推荐

