为什么这两个查询有两个不同的结果:
- 第一个查询:
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
- 第二个查询:
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.14.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 |