声明 table 插入的值重复

declare table inserted values duplicated

我尝试获取两个不同的 table 值以插入一个声明 table 但员工 ID 重复,

DECLARE @WSotable TABLE 
                  (
                      Employee int, 
                      ChargedQty int,
                      ReturnQty int
                  )

--先插入table条数据

INSERT INTO @WSotable
    SELECT DISTINCT
        MD_Employee.ID,
        SUM(TR_InvoiceDetails.InvoiceQuantity) AS ChargedQty,
        0 AS ChargedQty
    FROM
        TR_SalesOrderHeader 
    INNER JOIN 
        TR_InvoiceHeader ON TR_InvoiceHeader.SalesOrderID  = TR_SalesOrderHeader.ID 
    INNER JOIN 
        TR_InvoiceDetails ON TR_InvoiceDetails.InvoiceID = TR_InvoiceHeader.ID
    INNER JOIN 
        MD_ItemMaster ON TR_InvoiceDetails.ItemID  =  MD_ItemMaster.ID
    INNER JOIN 
        MD_Supplier ON MD_ItemMaster.SupplierID= MD_Supplier.ID
    INNER JOIN 
        MD_Employee ON TR_SalesOrderHeader.CreatedBy = MD_Employee.ID
    WHERE
        MD_Supplier.ID = 3 
        AND MD_ItemMaster.ID = 572
    GROUP BY
        MD_Employee.ID

--插入第二个table数据

INSERT INTO @WSotable
    SELECT DISTINCT
        MD_Employee.ID,
        0 AS ChargedQty,
        SUM(TR_SalesReturnDetails.ReturnQuantity) AS ReturnQty
    FROM
        TR_SalesReturnHeader
    INNER JOIN
        TR_SalesReturnDetails ON TR_SalesReturnDetails.SalesReturnID = TR_SalesReturnDetails.ID
    INNER JOIN 
        MD_ItemMaster ON TR_SalesReturnDetails.ItemID  =  MD_ItemMaster.ID
    INNER JOIN 
        MD_Supplier ON MD_ItemMaster.SupplierID= MD_Supplier.ID
    INNER JOIN 
        MD_Employee ON TR_SalesReturnHeader.CreatedBy = MD_Employee.ID
    WHERE
        MD_Supplier.ID = 3 
        AND MD_ItemMaster.ID = 572
    GROUP BY
        MD_Employee.ID

结果:

我需要停止 EmployeeID 重复

Return最终聚合的数据:

select Employee, sum(ChargedQty) ChargedQty, sum(ReturnQty) ReturnQty
from @WSotable
group by Employee