[英]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.