在 SQL 中为 2 种不同的帐户类型获取相同付款的客户

Get customer with same payment for 2 different account types in SQL

有没有办法在 SQL 服务器中为 2 种不同帐户类型且支付相同金额的客户获得相同支付密钥的最终付款?

SELECT  
    p.Amount,
    t.date, 
    p.PayKey,
    t.BillKey 
FROM
    Transaction t
INNER JOIN 
    payment p ON t.PayKey = p.PayKey
LEFT JOIN
    BillTable b ON t.BillKey = b.Sbillkey 
                AND t.Tbillkey = b.BillKey 
WHERE   
    t.BillKey in (123457, 1786243)

我的成绩

Amount       date      PayKey   BillKey
----------------------------------------
2540.00     2020-02-06  762944   123457
2540.00     2020-02-06  762944  1786243

但我想得到的最终结果是:

Amount       date      PayKey   
-------------------------------
2540.00     2020-02-06  762944  

添加一个Group By.

SELECT  
    p.Amount,
    t.date, 
    p.PayKey 
FROM
    Transaction t
INNER JOIN 
    payment p ON t.PayKey = p.PayKey
LEFT JOIN
    BillTable b ON t.BillKey = b.Sbillkey 
                AND t.Tbillkey = b.BillKey 
WHERE   
    t.BillKey in (123457, 1786243)
GROUP BY 
    p.Amount,
    t.date, 
    p.PayKey

或使用 Distinct 到 return 个唯一行

SELECT DISTINCT
    p.Amount,
    t.date, 
    p.PayKey 
FROM
    Transaction t
INNER JOIN 
    payment p ON t.PayKey = p.PayKey
LEFT JOIN
    BillTable b ON t.BillKey = b.Sbillkey 
                AND t.Tbillkey = b.BillKey 
WHERE   
    t.BillKey in (123457, 1786243)