我想学习如何合并两个没有共同字段的数据库表。我已经检查了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”答案提供,因为我真的不建议这样做。
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
如果它包含数据,则需要花费较长的时间..
- 3 回答
- 0 关注
- 763 浏览
添加回答
举报
0/150
提交
取消