我有两张桌子:
用项目代码(整数)标识各种项目的表"A“。每个项目出现几次,有不同的上传日期。这些表还显示了出售该商品的商店(商店ID-整数)。
表"B“,列出要绘制的所需项目代码(50项)。
我感兴趣的是,根据第二个表上的项目代码,从第一个表中提取(显示)项。选择的项目也应该有最高的上传日期,并属于一个特定的商店id (如我所选择)。
例如:项目“大米”,其项目代码为- 77893。这个项目代码在表"B“上,意思是我要展示它。在表"A“中,”rice“有多个条目:
item_name,item_code,upload_date,store_id
水稻- 77893 - 2021-11-18
水稻- 77893 -05-30年011
水稻,77893,2020-11-02
苹果90837 2020-05-14 x 002
苹果90837 2020-05-14年020
水稻,77893,2020-05-15,002
苹果90837 2020-01-08系列002
水稻,77893,2020-05-15
item_code
90837
77893
产出:
item_name,item_code,upload_date,store_id
水稻,77893,2020-11-02
苹果90837 2020-05-14 x 002
“大米”和“苹果”的项目代码也在表"B“上。在本例中,我对在002商店出售的商品感兴趣。
到目前为止,我只是设法返回项目的最新上传日期。但是,我手动插入了条目代码,并且也无法过滤store_id。
任何关于如何执行这个想法的帮助或指导方针都是非常有用的。
谢谢!
发布于 2021-12-17 17:13:23
筛选表A中所需存储的行和表B中的项,然后聚合以获得具有最大日期的行:
SELECT item_name, MAX(upload_date) upload_date, store_id
FROM A
WHERE store_id = '002' AND item_name IN (SELECT item_name FROM B)
GROUP BY item_code;或者,加入:
SELECT A.item_name, MAX(A.upload_date) upload_date, A.store_id
FROM A INNER JOIN B
ON B.item_code = A.item_code
WHERE A.store_id = '002'
GROUP BY A.item_code;见演示。
https://stackoverflow.com/questions/70396200
复制相似问题