删除连接中的重复项

问题描述 投票:0回答:1

我尝试过的任何方法都无法从表 1 中删除重复内容

这是我的表的基本连接

SELECT t1.ORDERNUM,
    t1.TOTALAMT,
    t2.refrence,
    t2.DEBITAMT
FROM table1 t1
JOIN table2 t2
       ON t1.ORDERNUM = t2.REFRENCE
WHERE t2.REFRENCE = 'PO_309-20142153'

我最终

ORDERNUM    TOTALAMT    refrence                    DEBITAMT
309-20142153    1420.920000 PO_309-20142153_                0.00000
309-20142153    1420.920000 PO_309-20142153_                62.15000
309-20142153    1420.920000 PO_309-20142153_                86.85000
309-20142153    1420.920000 PO_309-20142153_                129.56000
309-20142153    1420.920000 PO_309-20142153_                201.97000
309-20142153    1420.920000 PO_309-20142153_                376.80000
309-20142153    1420.920000 PO_309-20142153_                563.59000

^^^^^^^^^^^^ 如何删除这些骗局?

我尝试过连接、子查询、分组。我可能会因为 table1 或所有空值而受到欺骗。

我希望删除表 1 中的重复项,以便我可以将其干净地添加到 SSRS 报告中。并在第二列中没有 2 无数个的情况下将它们相加

我运行 SQL Server

sql sql-server join duplicates
1个回答
0
投票

您可以对

t2.DEBITAMT
求和,以避免在输出中返回多行,而该值恰好与您的
t1.ORDERNUM = t2.REFRENCE
匹配。然后,根据
t1.ORDERNUM
t1.TOTALAMT
对行进行分组。

SELECT t1.ORDERNUM,
    t1.TOTALAMT,
    SUM(t2.DEBITAMT) AS TotalDebitAmt
FROM table1 t1
JOIN table2 t2 ON t1.ORDERNUM = t2.REFRENCE
WHERE t2.REFRENCE = 'PO_309-20142153'
GROUP BY t1.ORDERNUM, t1.TOTALAMT

(“REFERENCE”拼写引自原始问题;“REFRENCE”)

© www.soinside.com 2019 - 2024. All rights reserved.