gpt4 book ai didi

仅当所有记录都匹配时才加入 SQL

转载 作者:行者123 更新时间:2023-12-04 15:43:16 28 4
gpt4 key购买 nike

我有3张 table :

  • CP_carthead (idOrder)
  • CP_cartrows (idOrder, idCartRow)
  • CP_shipping (idCartRow, idShipping, dateShipped)

  • 每个 idOrder 可以有多个 idCartRows。

    我想获得所有 idCartRows 都存在于 CP_shipping 中的订单。这看起来应该很简单,但我在网上没有找到太多。

    这是我现在的查询:
    SELECT
    s.idOrder
    , s.LatestDateShipped
    FROM
    CP_carthead o
    LEFT OUTER JOIN (
    SELECT
    MAX(s.dateShipped) [LatestDateShipped]
    , r.idOrder
    FROM
    CP_shipping s
    LEFT OUTER JOIN CP_cartrows r ON s.idCartRow = r.idCartRow
    GROUP BY
    r.idOrder
    ) s ON o.idOrder = s.idOrder

    最佳答案

    您的查询从“s”返回行而不是订单。根据你的问题,我想出了这个查询:

    select o.*
    from CP_Carthead o
    where o.orderId in (select cr.idOrder
    from cp_cartrows cr left outer join
    cp_shipping s
    on cr.idCartRow = s.IdCartrow
    group by cr.idOrder
    having count(s.idCartRow) = COUNT(*)
    )
    in中的子查询声明正在获取所有手推车都在运输中的订单。

    关于仅当所有记录都匹配时才加入 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14142813/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com