Sql server SQL将多个值连接到多个值
我有两张桌子要合并。我在表上尝试了Sql server SQL将多个值连接到多个值,sql-server,Sql Server,我有两张桌子要合并。我在表上尝试了左,右,内部联接,但没有成功 表1 Name1 Name2 ------------ A 1 B 2 C 3 D 1 表2 Name2 Name3 ------------ 1 x 1 y 2 x 3 x 3 y 3 z 4 y 我正在寻找的结果是: 可结 Name1 Name2 Name3 ------------------ A 1
左
,右
,内部
联接,但没有成功
表1
Name1 Name2
------------
A 1
B 2
C 3
D 1
表2
Name2 Name3
------------
1 x
1 y
2 x
3 x
3 y
3 z
4 y
我正在寻找的结果是:
可结
Name1 Name2 Name3
------------------
A 1 x
A 1 y
B 2 x
C 3 x
C 3 y
C 3 z
D 1 x
D 1 y
你可以用这个试试
下面是实现
create table Table1 (Name1 varchar(5), Name2 int)
Insert into Table1 Values ('A',1), ('B',2), ('C',3), ('D',1)
create table Table2 (Name2 int, Name3 varchar(5))
Insert into Table2
Values (1, 'x'), (1, 'y'), (2, 'x'), (3, 'x'), (3, 'y'), (3, 'z'), (4, 'y')
Select Table1.Name1, Table1.Name2, Table2.Name3
from Table1
inner join Table2 on Table1.Name2 = Table2.Name2
输出如下所示
Name1 Name2 Name3
----------------------
A 1 x
A 1 y
B 2 x
C 3 x
C 3 y
C 3 z
D 1 x
D 1 y
谢谢,我编辑了这篇文章,我在这个问题上犯了一个错误。问题在于Table2 D值,此查询只返回D一次,没有正确的表值。请检查输出是否为预期输出。如果您觉得答案有帮助,请要求您接受。@SurajKumar的答案可能会有帮助,即使他们没有完全回答问题,接受答案也应该是完全回答问题的答案。请解释您试图做什么。请留下您的SQL代码以帮助人们了解您的问题。
Name1 Name2 Name3
----------------------
A 1 x
A 1 y
B 2 x
C 3 x
C 3 y
C 3 z
D 1 x
D 1 y