繁体   English   中英

在SQL查询中显示重复项

[英]Displaying duplicates in sql query

我有以下SQL查询:

SELECT `PARTNER_NAME` 
FROM `PARTNER` 
WHERE `PARTNER_CODE` IN 
                    (SELECT 
                    `PARTNER_CODE` 
                    FROM INBOUND_ORDER 
                    WHERE `AWB_NUM` IN 
                                ( SELECT 
                                `INBOUND_ORDER_AWB_NUM` 
                                FROM DUTY_EXEMPTION 
                                WHERE `DE_SENT_SUBMISSION` IS NOT NULL 
                                    AND `CARGO_TO_UNHRD`IS NULL
                                ) 
                    )

如何显示重复记录

与其使用太多内部查询,不如将其与join一起使用:

SELECT P.PARTNER_NAME FROM PARTNER P INNER JOIN INBOUND_ORDER IO ON P.PARTNER_CODE = IO.PARTNER_CODE INNER JOIN DUTY_EXEMPTION DE ON IO.AWB_NUM = DE.INBOUND_ORDER_AWB_NUM WHERE DE.DE_SENT_SUBMISSION IS NOT NULL AND DE.CARGO_TO_UNHRDIS NULL

您的查询由于以下原因而出现了意外行为

WHERE `AWB_NUM` IN 
( SELECT `INBOUND_ORDER_AWB_NUM` FROM DUTY_EXEMPTION 
WHERE `DE_SENT_SUBMISSION`
IS NOT NULL AND `CARGO_TO_UNHRD`IS NULL) 

它只会返回由返回的第一条记录

( SELECT `INBOUND_ORDER_AWB_NUM` FROM DUTY_EXEMPTION 
    WHERE `DE_SENT_SUBMISSION`
    IS NOT NULL AND `CARGO_TO_UNHRD`IS NULL)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM