【问题标题】:Combining EXISTS and LEFT JOIN结合 EXISTS 和 LEFT JOIN
【发布时间】:2016-04-03 09:41:15
【问题描述】:

我需要一些帮助来结合我编写的两个查询(我不知道是否可以这样做)。但首先让我给你看一下表格并解释一下,所以这里没有模棱两可的角度。

这是我的表(PS:我不知道如何在 StackOverflow 中制作漂亮的表,尽管我研究过它,并尝试使用 Senseful 解决方案,所以请原谅图片):

Main Table

我的第一个查询如下:

SELECT *
FROM Dropship As t1
WHERE t1.HUB_SO_GOODS_ISSUE_DATE IS NULL 
AND EXISTS (SELECT * FROM Dropship t2
WHERE t2.LE_PO = t1.LE_PO
AND t2.HUB_SO_GOODS_ISSUE_DATE IS NOT NULL);

此查询为我提供了所有尚未完全处理的订单。所以有了这张桌子,我得到了订单 (LE_PO) 300 和 500,如下图所示:

result from first query

我使用的另一个查询是左连接:

SELECT Dropship.*, Notes_Replenishment.*
FROM Dropship LEFT JOIN Notes_Replenishment ON Dropship.LE_PO = Notes_Replenishment.LE_PO;

notes_replenishment 表包含所有订单 (LE_PO),但也包含用户输入的 cmets。我想要做的是将左连接合并到第一个查询中,以便它给我结果(见上文)以及 Notes_replenishment 表中的 cmets,但是当我尝试自己执行此操作时出现错误。

有人能给我一些关于如何结合这两个查询的指示吗?

提前谢谢大家!

【问题讨论】:

    标签: mysql sql-server join left-join exists


    【解决方案1】:
    SELECT  *
    FROM    Dropship As t1
    LEFT JOIN 
            Notes_Replenishment
    ON      t1.LE_PO = Notes_Replenishment.LE_PO
    WHERE   t1.HUB_SO_GOODS_ISSUE_DATE IS NULL 
            AND EXISTS 
            (
            SELECT  *
            FROM    Dropship t2
            WHERE   t2.LE_PO = t1.LE_PO
                    AND t2.HUB_SO_GOODS_ISSUE_DATE IS NOT NULL
            )
    

    【讨论】:

    • 非常感谢安多玛!我不认为它会那么简单,现在感觉有点荒谬,但你的帮助是完全感谢的! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    • 2021-09-29
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多