为了账号安全,请及时绑定邮箱和手机立即绑定

合并两个没有公共字段的表

合并两个没有公共字段的表

猛跑小猪 2019-11-28 10:55:28
我想学习如何合并两个没有共同字段的数据库表。我已经检查了UNION,但是MSDN说:以下是使用UNION组合两个查询的结果集的基本规则:在所有查询中,列的数量和顺序必须相同。数据类型必须兼容。但是我根本没有共同点。我想要的就是将它们像视图一样组合在一个表中。所以我该怎么做?
查看完整描述

3 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

这是一个非常奇怪的请求,几乎可以肯定是您在现实世界中的应用程序中永远不想做的事情,但是从纯粹的学术角度来看,这是一个有趣的挑战。使用SQL Server 2005,您可以使用公用表表达式和row_number()函数并在其上进行联接:


with OrderedFoos as (

    select row_number() over (order by FooName) RowNum, *

    from Foos (nolock)

),

OrderedBars as (

    select row_number() over (order by BarName) RowNum, *

    from Bars (nolock)

)

select * 

from OrderedFoos f

    full outer join OrderedBars u on u.RowNum = f.RowNum

这行得通,但是它非常愚蠢,我只将其作为“社区Wiki”答案提供,因为我真的不建议这样做。


查看完整回答
反对 回复 2019-11-28
?
Cats萌萌

TA贡献1805条经验 获得超9个赞

Select 

DISTINCT  t1.col,t2col

From table1 t1, table2 t2


OR


Select 

DISTINCT  t1.col,t2col

From table1 t1 

cross JOIN  table2 t2

如果它包含数据,则需要花费较长的时间..


查看完整回答
反对 回复 2019-11-28
  • 3 回答
  • 0 关注
  • 763 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信