gpt4 book ai didi

mysql - 思感 : Self table join for historical data reporting

转载 作者:行者123 更新时间:2023-11-29 18:21:20 25 4
gpt4 key购买 nike

让我从一个例子开始。假设我有以下缓慢变化的维度表片段,其中包含有关客户的信息:

key  id      name  country      valid_from  valid_to    version
1 abcxyz John Switzerland 2012/01/01 2014/01/01 1
20 abcxyz John Germany 2014/01/01 2017/01/01 2
...

如您所见,客户信息的每次更改都会记录为表中具有相同 id 的新条目,但版本增加 1(key 字段是表的主键)

然后将该表导入 Sisense ElastiCube,然后我可以从 Dashboard Web 应用程序访问它。

我的问题是:如何创建一个小部件来显示从 A 国转移到 B 国的所有客户? (如果 A 是瑞士,B 是德国,John 将出现在报告中)

最佳答案

假设 (id, version) 是唯一的,并且版本序列中没有间隙,则此查询将为您提供从一个国家/地区转移到另一个国家/地区的客户。

请注意,它不会为您提供客户记录的最新版本,而是为您提供发生更改时的记录版本。在版本 3 中,约翰可能住在意大利,但查询仍会为您提供德国记录。

select a.key as moved_from_key
,b.key as moved_to_key
from customers a
join customers b on(
b.id = a.id
and b.version = a.version + 1 -- The version following A
)
where a.country = 'Switzerland'
and b.country = 'Germany';

关于mysql - 思感 : Self table join for historical data reporting,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46556945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com