小编典典

连接具有不同行数的两个表(在SQL Server中)

sql

我有两个表: A (col1,col2,col3,col4)

B (col1,col2,col3,col4)

A 有4条记录(行),表 B 有6行。我想这样连接它们,例如将它们连接到 C 表中

CB.col1B.col2
,A.col3,A.col4,B.col3,B.col4)(表中记录中的值不同,只是col1和col2包含相同的值)

当我在A.col1 = B.col1和A.col2 = B.col2上加入他们时,我采用笛卡尔积:(

PS我想在 C中 有6行,其中B.col1,B.col2,B.col3,B.col4有6行,而A.col3,A.col4有4行,其他2空

请帮我..


阅读 266

收藏
2021-03-08

共1个答案

小编典典

您需要使用 FULL OUTER JOIN

Select a.Col1,
       a.Col2,
       a.Col3,
       a.Col4,
       b.Col3,
       b.Col4

From TableA a
Full Outer Join TableB b on a.Col1 = b.Col1
                         And a.Col2 = b.Col2

编辑:

“无效”不会帮助任何人。也许您可以提供更多详细信息,以了解为什么它不适合您。

您可以在问题中添加一些示例数据和实际的预期输出。

例如

Create Table #TableA
(
Col1 
...
)

Insert Into #TableA
Values (...)

您的问题越清楚,答案就会越好。如果人们不完全了解您的确切问题和所需的预期输出,那么我们应该如何为您提供完整而正确的答案。

2021-03-08