1

为什么这两个查询有两个不同的结果:

  1. 第一个查询:
        select c.customer_id, oo.order_id
          from co.CUSTOMERS c
         outer apply (select *
                        from co.orders o
                       where o.customer_id = c.CUSTOMER_ID
                       order by o.order_id desc fetch first 1 rows only) oo
         where c.CUSTOMER_ID = 22
           and oo.order_id = 10000
  1. 第二个查询:
        select c.customer_id, oo.order_id
          from co.CUSTOMERS c
         outer apply (select *
                        from co.orders o
                       where o.customer_id = c.CUSTOMER_ID
                       order by o.order_id desc fetch first 1 rows only) oo
         where c.CUSTOMER_ID = 22
           and oo.order_id = 10000
         group by c.customer_id, oo.order_id

co.CUSTOMERS c的数据

select * from co.CUSTOMERS c   where c.customer_id=22   
客户ID 电子邮件地址 全名
22 raymond.bailey@internalmail 雷蒙德·贝利

订单数据

select * from co.orders o where o.customer_id=22
order by o.order_id  desc 
ORDER_ID ORDER_DATETIME 客户ID 订单状态 STORE_ID
1819 19 年 3 月 11 日 07.20.17.942291 上午 22 完全的 22
1435 19 年 1 月 7 日 03.57.1​​4.316173 下午 22 完全的 1
511 2018 年 7 月 19 日上午 06.24.36.024192 22 完全的 1
184 26-APR-18 05.13.15.426435 上午 22 完全的 1

第一个查询只
返回下面的第二个查询:

客户ID ORDER_ID
22 10000
4

1 回答 1

0

这是一个错误。我已经为你提出了这个。

于 2021-04-19T16:32:21.327 回答