在 SQL Server 2008 中合并两个表
我需要问一下有什么方法可以组合两个不同列数的表,例如:
Select a,b,c, from x
union
Select d, e from y
I need to ask something is there any way combine two tables different count of columns like:
Select a,b,c, from x
union
Select d, e from y
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你需要做这样的事情
我使用了''但你可能想使用NULL或0,NULL将兼容所有数据类型,''不会
我也使用UNION ALL而不是UNION,因为它会表现更好,因为它不不必执行排序操作来消除重复,
这里也不需要别名 f,因为顶级查询确定结果集中列的名称
you need to do something like this
I used '' but you might want to use NULL or 0, NULL will be compatible will all data types, '' will not be
I also used UNION ALL not UNION since it will perform better because it doesn't have to do a sort operation to get rid of dups
the alias f is not needed here either because the top query determines the name of the columns in the resultset
请注意,
和
将产生不同的结果,即将使用第一个出现的表中的属性名称。
也许最好明确地重命名第二个表中的列,例如
Note that
and
will yield different results i.e. the attribute names from the first-appearing table will be used.
Perhaps better to be unequivocal by explicitly renaming the columns in the second table e.g.
如果您想加入姓名和名称;在连接查询中使用 ROW_NUMBER 的两个表中都有一些重复的名称!
if you want to join on name & there are some duplicate names in both table the use ROW_NUMBER in join query!