0

我有两张桌子让我们说tableAtableB

TableA

AID  Another_A_ID 
1        A               
2        A
3        A
4        B
5        B
6        C

TableB

AID    Name
1       a_a_name
1       a_b_name
1       a_c_name
1       a_d_name
2       a_a_name
2       a_b_name
2       a_c_name
2       a_d_name
3       a_a_name
3       a_a_name
3       a_a_name
3       a_a_name
4       b_a_name
4       b_b_name
5       b_a_name
5       b_b_name

我怎样才能得到tableB.name每个Another_A_Idin tableA

这是我尝试过的:

Select distinct tA.Another_A_ID, tB.name 
from tableA tA
Inner Join tB on tA.AID = tB.AID

这会产生多个重复的行Another_A_ID

我在这里看的是

Another_A_ID    Name
A                a_a_name
A                a_b_name
A                a_c_name
A                a_d_name
B                b_a_name
B                b_b_name
4

1 回答 1

2

我不确定为什么这不会产生您期望的答案:

SELECT a.Another_A_ID, b.Name
  FROM dbo.tableA AS a
  INNER JOIN dbo.TableB AS b
  ON a.AID = b.AID
  GROUP BY a.Another_A_ID, b.Name;

事实上,这个 SQLfiddle证明了您的查询有效(我的也是如此)。如果您遗漏了任何细节问题,请添加它们。

于 2013-03-11T17:36:06.927 回答