PostgresSql:比较两个表并获得其结果并将其与第三个表进行比较
技术问答
161 人阅读
|
0 人回复
|
2023-09-12
|
表 2:trip_delivery_sales_lines
! s9 h- f/ ~3 T# E5 ]- X/ \ ------- --------------------- ------------ ---------- ------------ ------------- -------- -- | Sl no | Order_date | Partner_id | Route_id | Product_id | Product qty | amount | | ------- --------------------- ------------ ---------- ------------ ------------- -------- -- | 1 | 2020-08-01 04:25:35 | | 1522 | | | 100 | || 2 | 2021-09-11 02:25:35 | | 130 130| | | 150 | || 3 | 2020-05-10 04:25:35 | | 1522 | | 3 | 123 | || 4 | 2021-02-16 01:10:35 | | 130 130| | 5 5 5 5 55 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5555 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 | 123 | || 5 | 2020-02-19 01:10:35 | | 1522 | | | 600 | || 6 | 2021-03-20 01:10:35 | | 1522 | | 1 | 123 | || 7 | 2021-04-23 01:10:35 | | 1522 | | | 200 | || 8 | 2021-07-08 01:10:35 | | 1522 | | 3 | 32 | || 9 | 2019-06-28 01:10:35 | | 1522 | | | 100 | || 10 | 2018-11-14 01:10:35 | | 1522 | | 5 5 5 5 55 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5555 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 | 20 | || | | | | | | | | ------- --------------------- ------------ ---------- ------------ ------------- -------- -- 表 2 中,我们必须是 route=在152 中找到合作伙伴,找到最后一个 2 销售 product_qty 通过desc order_date 选择]: M% u+ i+ g; K% E- x8 y
。它的结果可以在表 3 中找到。) [. I# n' B* ?0 |
34567 – Serial number – Serial number – Serial number [6] 表 3:表 1、2 结果
/ w( t7 ^& k- S2 s6 J ------------ ------- | Partner_id | count | ------------ ------- | | 5 || | 1 || | 6 || | | ------------ ------- 我们想从表 4 中找到上面的 partner_ids 叶数
" v! n: u2 J$ j! P' c表 4 :coupon_leaf
$ `( _. L8 K9 a7 r ------------ ------- | Partner_id | Leaf | ------------ ------- | 34567 | XYZ1 || | XYZ2 || | DDHC || 34567 | DVDV || | DVFDV || | FVFV || 34567 | FVV || | | ------------ ------- 我们可以找到结果:0 ]9 i+ D6 l/ a7 c+ R1 {
34567 – 334569-234570 -1表 5:表 4 结果$ \ H4 v/ H7 z# ~4 ^
------------ ------- | Partner_id | count | ------------ ------- | | 3 || | 2 || | 1 || | | ------------ ------- 现在我们要比较表3和表5* n, |1 R! i9 j Z! \6 o
If partner_id count [table 3] > partner_id count [table 4] Print partner_id我想要一个查询来完成所有这些操作+ ]% g) q4 N* Q
通过以下方式可以找到不同的方法partner_id:从表1
4 O- ]0 ]: X8 q4 J3 P; ZSELECT DISTINCT partner_id FROM trip_delivery_sales ts WHERE ts.route_id='152' GROUP BY ts.partner_id 9 g) K9 s9 _& h1 i6 _& ~, W
解决方案:
2 {, Z; L: R4 i; ~5 l9 h" @ 这回答了问题的原始版本。
; T: P, e0 G1 z( E+ ^您似乎想在汇总表2和表3之后进行比较。我不知道table为什么?它似乎没有任何效果。
0 T5 O8 |4 H3 c4 _所以:
2 L+ {6 x2 J+ ~8 p0 ?select *from (select partner_id,sum(quantity) as sum_quantity from (select tdsl.*, row_number() over (partition by t2.partner_id order by order_date) as seqnum from trip_delivery_sales_lines tdsl tdsl where seqnum leaf_cnt |
|
|
|
|
|