我有2个表,其中包含以下值:
ID Prod_Code Prod_Sub Prod_Note Rec_Name Prod_Qty Prod_Flow Rec_Mat_Act
306 111 1 falcon 1128 Stab120 25 5000 22623.17
307 111 2 falcon 1128 Stab120 25 5000 22635.52
308 111 3 falcon 1128 Stab120 24 5000 21623.89
309 111 4 falcon 1128 Stab120 27 5000 24439.78
311 111 5 falcon 1128 Stab120 27 5000 24402.79
313 111 6 falcon 1128 Stab120 24 5000 21582.37
315 111 7 falcon 1128 Stab120 14 5000 12654.76
316 111 8 falcon 1128 Stab120 27 5000 24447.1
317 111 9 falcon 1128 Stab120 25 5000 22613.14
318 111 10 falcon 1128 Stab120 23 5000 20759.74
ID Prod_Code Prod_Sub Prod_Note Rec_Name Prod_Qty Prod_Flow Rec_Mat_Act
226 111 1 falcon 1128 Stab120 25 5000 1604.125
227 111 2 falcon 1128 Stab120 25 5000 1601.498
228 111 3 falcon 1128 Stab120 24 5000 1645.118
229 111 4 falcon 1128 Stab120 27 5000 1740.419
231 111 5 falcon 1128 Stab120 27 5000 1774.387
233 111 6 falcon 1128 Stab120 24 5000 1674.871
235 111 7 falcon 1128 Stab120 14 5000 918.7184
236 111 8 falcon 1128 Stab120 27 5000 1740.139
237 111 9 falcon 1128 Stab120 25 5000 1633.708
238 111 10 falcon 1128 Stab120 23 5000 1536.74
Prod_Code
是唯一的生产编号Prod_Sub是批号(prod_code可以有多个批号)rec_mat_act
是生产中实际使用的材料我正在尝试获取包含所有唯一prod_codes及其prod_sub和使用过的材料的列表,但我得到了重复的结果。
我正在使用以下查询:
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'
使用DISTINCT
中的SELECT
对我没有帮助,GROUP BY
也没有帮助,但也许我使用它都错了。
答案 0 :(得分:0)
如果你在select中添加一个distinct,它应该从第一个表中获取不同的prod_code,然后将所有结果附加到它,即:
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