SQL内部联接返回多个值

SQL内部联接返回多个值,sql,Sql,我有两个表,其值如下: tbl_a1 tbl_c1 e是唯一的,并出现在两个表中 Prod_code是唯一的生产编号Prod_Sub是批号(一个Prod_代码可以有多个批号) rec\u mat\u act是生产中实际使用的材料 我试图得到一个包含所有唯一产品代码及其产品子项和所用材料的列表,但我得到了重复的结果 我正在使用以下查询: SELECT a1.Prod_Code, a1.Prod_Sub, a1.Prod_Note,

我有两个表,其值如下:

tbl_a1 tbl_c1
  • e是唯一的,并出现在两个表中
  • Prod_code
    是唯一的生产编号Prod_Sub是批号(一个Prod_代码可以有多个批号)
  • rec\u mat\u act
    是生产中实际使用的材料
我试图得到一个包含所有唯一产品代码及其产品子项和所用材料的列表,但我得到了重复的结果

我正在使用以下查询:

SELECT      a1.Prod_Code, 
            a1.Prod_Sub, 
            a1.Prod_Note, 
            c1.Rec_Mat_Act 
FROM        Tbl_Aggr1 as a1 INNER JOIN  Tbl_Cem1 as c1 
            on c1.Prod_Code = a1.Prod_Code  
WHERE       a1.Prod_Code = '111'

SELECT
中使用
DISTINCT
对我没有帮助,
groupby
也没有帮助,但可能我用错了。

如果在SELECT中添加DISTINCT,它应该只从第一个表中获取DISTINCT prod\u代码,然后将所有结果附加到它,即:

select distinct
    a.prod_code, a.prod_sub, c.rec_mat_act
from tbl_a1 a
inner join tbl_c1 c on a.prod_code = c.prod_code
where a.prod_code = 111

请显示表格数据和预期结果
groupby
应给出您应得的结果。请通过QUERI提供您的团队。是否附上了预期结果?
SELECT      a1.Prod_Code, 
            a1.Prod_Sub, 
            a1.Prod_Note, 
            c1.Rec_Mat_Act 
FROM        Tbl_Aggr1 as a1 INNER JOIN  Tbl_Cem1 as c1 
            on c1.Prod_Code = a1.Prod_Code  
WHERE       a1.Prod_Code = '111'
select distinct
    a.prod_code, a.prod_sub, c.rec_mat_act
from tbl_a1 a
inner join tbl_c1 c on a.prod_code = c.prod_code
where a.prod_code = 111