2
A
回答
3
你需要做这样的事情
Select a,b,c from x
union all -- ALL doesn't filter dups and is faster
Select d, e, '' as f from y
我''但你可能想要使用NULL或0,NULL将兼容将所有数据类型,''将不会
我也使用UNION ALL而不是UNION,因为它会更好,因为它没有t o不要排序操作摆脱DUP的
这里不需要别名的F要么是因为顶部查询确定结果集列的名称
0
select col1, col2, col3, col4
from mytable1
union all
select col5, col6, null as col7, '' as col8
from mytable2
1
注意
select a, b, c from x
union
select d, e, '' as f from y;
和
select d, e, '' as f from y
union
select a, b, c from x;
将产生不同的结果,即来自第一方的属性名称,出现的表格将被使用。
也许最好是明确地重命名第二个表中的列,例如,
select a, b, c from x
union
select d AS a, e AS b, '' as c from y;
+0
我已经解决了问题,无需重命名...重命名不是必须的,它获得第一个表格列名称thx再次... –
0
first table
id
name
second table
name
seatno
如果你想加入的名字&有两个表中使用ROW_NUMBER在连接查询一些重复的名字
!
+0
请澄清你的答案来改善它,这不是很清楚你的意思。你能举个例子吗? – Josien
相关问题
- 1. 结合SQL服务器中不同行数的两个表格
- 2. 加入在SQL服务器的两个表2008
- 3. SQL服务器 - 两个表
- 4. 结合两个表的SQL
- 5. 合并表 - SQL服务器
- 6. 比较两个sql服务器表
- 7. 触发sql服务器,两个表
- 8. 在一个表上的两个触发器sql服务器
- 9. C#服务于两个SQL服务器
- 10. SQL 2008 - 链接服务器
- 11. 结合了两种表与MySQL服务器不同的列
- 12. 2个不同服务器上的重复表(MS SQL 2000/2008)
- 13. 匹配在SQL Server的两个表2008
- 14. SQL Server 2008的合并两个查询
- 15. SQL服务器从两个可能的表中选择一个
- 16. SQL服务器枭雄Studio 2008的R2出口结构+数据
- 17. 在SQL Server 2008 R2中合并两个表
- 18. SQL Server 2008 R2:结合两个查询进行优化
- 19. 如何在SQL服务器中交叉连接两个表
- 20. SQL:加入两个表的/结合,在多个条件
- 21. 匹配列上的两个表的SQL服务器
- 22. 在两个EJB服务器
- 23. 合并两个表的SQL
- 24. 服务器链接 - mysql和sql 2008服务器链接
- 25. 链接服务器权限DBA SQl服务器2008
- 26. 将两列转换为两个逗号分隔的列表在sql服务器
- 27. SQL服务器2008计算列
- 28. 从MySql迁移到SQL服务器2008
- 29. SQL服务器2008不支持LIMIT
- 30. SQL Server 2008链接服务器和CONTEXT_INFO
使用NULL代替空字符串可能会更好,并且您可能还需要将数据类型强制为兼容类型。另一个有用的方法是将一个派生列添加到集合中,以帮助识别数据来自哪里,所以'SELECT a,b,c,'X'AS src ...' – billinkc
那么简单...谢谢@ SQLManace ...还有think billinkc比较好知道... –
我认为你需要一个更强烈的警告,使用'UNION ALL'可能会产生不同的结果。如前所述,它是不明确的,“['UNION ALL']不需要做排序操作来摆脱dups”可能会被错误地解释为,“['UNION ALL']摆脱dups而不必做排序操作“。 – onedaywhen