8
8
)
9
9
}}
10
10
11
- with organisaatio as (
11
+ with organisaatio_raw as (
12
12
select
13
13
* ,
14
14
row_number() over (partition by organisaatio_oid order by muokattu desc ) as rownr
15
15
from {{ ref(' dw_organisaatio_organisaatio' ) }}
16
16
),
17
17
18
+ organisaatio as not materialized (
19
+ select * from organisaatio_raw where rownr = 1
20
+ ),
21
+
22
+ ylempi_toimipiste as (
23
+ select
24
+ organisaatio_oid,
25
+ nimi_fi,
26
+ nimi_sv
27
+ from organisaatio
28
+ where organisaatiotyypit @> ' ["organisaatiotyyppi_03"]'
29
+ ),
30
+
31
+
18
32
kunta as (
19
33
select * from {{ ref(' int_koodisto_kunta' ) }} where viimeisin_versio
20
34
),
@@ -23,36 +37,49 @@ organisaatiotyyppi as (
23
37
select * from {{ ref(' int_organisaatio_organisaatiotyyppi' ) }}
24
38
),
25
39
26
- raw as (
40
+ int as (
27
41
select
28
- organisaatio_oid,
29
- coalesce(nimi_fi, nimi_sv) as nimi_fi_new,
30
- coalesce(nimi_sv, nimi_fi) as nimi_sv_new,
31
- coalesce(nimi_fi, nimi_sv) as nimi_en_new,
32
- ylempi_organisaatio,
33
- sijaintikunta,
34
- tila,
35
- opetuskielet,
36
- organisaatiotyypit
37
- from organisaatio
38
- where rownr = 1
42
+ org1 .organisaatio_oid ,
43
+ coalesce(org1 .nimi_fi , org1 .nimi_sv ) as nimi_fi_new,
44
+ coalesce(org1 .nimi_sv , org1 .nimi_fi ) as nimi_sv_new,
45
+ coalesce(org1 .nimi_fi , org1 .nimi_sv ) as nimi_en_new,
46
+ coalesce(ylto .nimi_fi , ylto .nimi_sv ) as nimi_fi_new_ylempi,
47
+ coalesce(ylto .nimi_sv , ylto .nimi_fi ) as nimi_sv_new_ylempi,
48
+ coalesce(ylto .nimi_fi , ylto .nimi_sv ) as nimi_en_new_ylempi,
49
+ org1 .ylempi_organisaatio ,
50
+ org1 .sijaintikunta ,
51
+ org1 .tila ,
52
+ org1 .opetuskielet ,
53
+ org1 .organisaatiotyypit
54
+ from organisaatio as org1
55
+ left join ylempi_toimipiste as ylto on org1 .ylempi_organisaatio = ylto .organisaatio_oid
39
56
),
40
57
41
58
final as (
42
59
select
43
60
raw1 .organisaatio_oid ,
44
- jsonb_build_object(
45
- ' en' , raw1 .nimi_en_new ,
46
- ' sv' , raw1 .nimi_sv_new ,
47
- ' fi' , raw1 .nimi_fi_new
48
- ) as organisaatio_nimi,
61
+ case
62
+ when nimi_fi_new_ylempi is not null
63
+ then
64
+ jsonb_build_object(
65
+ ' en' , nimi_en_new_ylempi || ' , ' || nimi_en_new,
66
+ ' sv' , nimi_sv_new_ylempi || ' , ' || nimi_sv_new,
67
+ ' fi' , nimi_fi_new_ylempi || ' , ' || nimi_fi_new
68
+ )
69
+ else
70
+ jsonb_build_object(
71
+ ' en' , nimi_en_new,
72
+ ' sv' , nimi_sv_new,
73
+ ' fi' , nimi_fi_new
74
+ )
75
+ end as organisaatio_nimi,
49
76
raw1 .ylempi_organisaatio ,
50
77
raw1 .sijaintikunta ,
51
78
kunt .koodinimi as sijaintikunta_nimi,
52
79
raw1 .opetuskielet ,
53
80
orgt .organisaatiotyypit ,
54
81
raw1 .tila
55
- from raw as raw1
82
+ from int as raw1
56
83
left join kunta as kunt on raw1 .sijaintikunta = kunt .koodiuri
57
84
left join organisaatiotyyppi as orgt on raw1 .organisaatio_oid = orgt .organisaatio_oid
58
85
)
0 commit comments