我有兩個表:
表“A”包含由專案代碼(整數)標識的各種專案。每個專案出現多次,上傳日期不同。表格還顯示了銷售商品的商店(商店 ID-整數)
帶有要繪制的所需專案代碼(50 個專案)的串列的表“B”。
我有興趣根據第二個表上的專案代碼從第一個表中提取(顯示)專案。選擇的專案也應該具有最高的上傳日期并且屬于特定的商店 ID(我選擇)。
例如:商品“大米”,商品代碼為 - 77893。該商品代碼在表“B”上,表示我想展示它。在表“A”中,“大米”有多個條目:
表格示例
- 表“A”:
專案名稱 | item_code | 上傳日期 | store_id
大米| 77893 | 2021-11-18 | 001
大米| 77893 | 2020-05-30 | 011
大米| 77893 | 2020-11-02 | 002
蘋果| 90837 | 2020-05-14 | 002
蘋果| 90837 | 2020-05-14 | 020
大米| 77893 | 2020-05-15 | 002
蘋果| 90837 | 2020-01-08 | 002
大米| 77893 | 2020-05-15 | 005
- 表“B”:
專案代碼
90837
77893
輸出:
專案名稱 | item_code | 上傳日期 | store_id
大米| 77893 | 2020-11-02 | 002
蘋果| 90837 | 2020-05-14 | 002
“大米”和“蘋果”的專案代碼也在表“B”上。在此示例中,我對商店 002 出售的商品感興趣。
到目前為止,我只能在最新的上傳日期之前退回該專案。但是,我手動插入了商品代碼,也無法過濾 store_id。
任何關于如何執行這個想法的幫助或指南都會非常有幫助。
謝謝!
uj5u.com熱心網友回復:
過濾表 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://www.uj5u.com/shujuku/385850.html
上一篇:啟動時創建sqlite資料庫一次
