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

我想学习如何合并两个没有共同字段的数据库表。我已经检查了UNION,但是MSDN说:


以下是使用UNION组合两个查询的结果集的基本规则:


在所有查询中,列的数量和顺序必须相同。

数据类型必须兼容。

但是我根本没有共同点。我想要的就是将它们像视图一样组合在一个表中。


所以我该怎么做?


猛跑小猪
浏览 764回答 3
3回答

qq_花开花谢_0

这是一个非常奇怪的请求,几乎可以肯定是您在现实世界中的应用程序中永远不想做的事情,但是从纯粹的学术角度来看,这是一个有趣的挑战。使用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”答案提供,因为我真的不建议这样做。

Cats萌萌

Select DISTINCT  t1.col,t2colFrom table1 t1, table2 t2ORSelect DISTINCT  t1.col,t2colFrom table1 t1 cross JOIN  table2 t2如果它包含数据,则需要花费较长的时间..
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server