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