我无法自行加入数据表,以便在一行中提供逐年结果。
我的数据目前在表销售中存储如下。我可以使用Postgres或sqlite3。
我们(约会)|商店|类别| planu | planrev | merchu | merchrev
期望的结果是: https://www.amazon.com
我需要能够在最后4列中显示LY的值为1/7/17。
然后,我将结果与所有其他合作伙伴的结果相结合,复制其他表的相同查询。
可以假设所有当前年度数据将是我们> 1/1/18,以匹配上一年结果的364天前的日期。
通过阅读其他帖子,我想我可能需要制作一个CTE查询,我只是不知道从哪里开始。
我希望这很清楚。
非常感谢任何帮助解决这个问题。
答案 0 :(得分:2)
看起来您想要加入相同的商店和类别以及一年中的同月和日。在PostgreSQL中看起来如下:
select
'PartnerA' as channel,
cy.we as date,
cy.month,
cy.year,
cy.store,
'PartnerA ' || cy.store as ch_store,
cy.category,
cy.planu,
cy.planrev,
cy.merchu,
cy.merchrev,
ly.planu as planu_ly,
ly.planrev as planrev_ly,
ly.merchu as merchu_ly,
ly.merchrev as merchrev_ly
from sales cy
join sales ly on cy.store = ly.store and cy.category = ly.category
and cy.we - interval '1 year' = ly.we
;