我应该如何删除重复的行

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

我正在尝试编写一个查询,但为每个contract_id 获取重复的行。您能告诉我如何避免重复行吗?

SELECT
    ev.transaction_date,
    ev.contract_id,
    ev.created_at AS BCTESG_event_created_date,
    ev.resp_event_id,
    ev.transaction_type,
    ev.beneficiary_id,
    (be.given_name || ' ' || be.surname) AS bene_name,
    CASE  
        WHEN be.province = 'BC' 
            THEN 'no_prob_with_bene_address' 
            ELSE 'bene_address_needs_update' 
    END AS bene_address,
    cb.applied_for_bctesg_on,
    cb.applied_for_clb_on,
    cb.apply_for_low_income,
    cb.apply_for_provincial_grant,
    be.grant_identification_document_id,
    cs.subscriber_id,
    cs.is_primary,
    (s.given_name || ' ' || s.surname) AS subscriber_name,
    CASE 
        WHEN s.province = 'BC' 
            THEN 'no_prob_with_subscriber_address' 
            ELSE 'subscriber_address_needs_update' 
    END AS subscriber_address
FROM
    so_lunchmoney.bctesg_transactions AS ev
LEFT JOIN
    so_lunchmoney.contract_beneficiaries AS cb ON ev.contract_id = cb.contract_id
LEFT JOIN
    so_lunchmoney.beneficiaries AS be ON cb.beneficiary_id = be.id
LEFT JOIN
    so_lunchmoney.contract_subscribers AS cs ON ev.contract_id = cs.contract_id
INNER JOIN
    so_lunchmoney.subscribers AS s ON cs.subscriber_id = s.id

我希望每个

contract_id

得到一行
sql join duplicates
1个回答
0
投票

您可能希望通过将其添加到查询末尾来对结果进行分组:

...
GROUP BY
    ev.contract_id,
    be.id,
    cs.subscriber_id,
    s.id
© www.soinside.com 2019 - 2024. All rights reserved.