Kanske någon av er vet hur jag ska skriva om den här frågan för att få önskat resultat?
Det jag vill få ut är alla Partys och deras children (om de har några).
Relationen Parent-Child ligger i tabellen PartyContainment. PartyName/ChildName ligger i tabellen Party och ska joinas in.
Problemet är att jag vill gruppera via ChildGLN men NULL värden i ChildGLN ska inte grupperas för då får jag inte med alla Partys som har NULL som child. Hur åstadkommer jag det på bästa sätt?
SELECT
max(GLN) as GLN
,max(PartyName) as PartyName
,ChildGLN
,max(ChildName) as ChildName
FROM (
SELECT DISTINCT
GLN
,PartyName
,ChildGLN
,NULL as ChildName
FROM
Party p
left outer join PartyContainment pc
on (p.GLN = pc.ParentGLN)
UNION ALL
SELECT
null as GLN
,null as PartyName
,ChildGLN
,PartyName as ChildName
FROM
Party p
join PartyContainment pc
on (p.GLN = pc.ChildGLN)
) as Union
GROUP BY ChildGLN ORDER BY ChildGLN
SELECT
GLN
,PartyName
,ChildGLN
,ChildName
FROM
Party pa
left outer join
(SELECT
ParentGLN
,GLN as ChildGLN
,PartyName as ChildName
FROM
Party p
join PartyContainment pc
on (p.GLN = pc.ChildGLN)) res
on (res.ParentGLN = pa.GLN)
392 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf