Seite 2 von 2

Re: <null>-Transport bei Firebird 2.5 und 3 unterschiedlich

Verfasst: Sa 30. Jan 2021, 00:57
von vr2
root funktioniert nicht ohne Typisierung?

Code: Alles auswählen

with recursive
  tree as (
    -- basis
    select b.child id, b.child parent, b.lvl, b.distanz, b.str
    from base b
    union all
    -- erweiterung
    select t.id, e.parent, t.lvl + 1, t.distanz, left(t.str, t.distanz)
    from ext e
    join tree t on t.parent = e.id),

  base as (
    select 688 child, 688 parent, 0 lvl, 0 distanz, null str from rdb$database
    union all
    select 689 child, 688 parent, 0 lvl, 1 distanz, 'aaa' from rdb$database),

  ext as (
    select child id, parent, distanz, str
    from base
    where distanz > 0)

select parent, id child, lvl, distanz, distanz - lvl dl, str
from tree
order by parent, id, distanz
Viele Grüße, Volker

Re: <null>-Transport bei Firebird 2.5 und 3 unterschiedlich

Verfasst: Sa 30. Jan 2021, 01:15
von bfuerchau
Nun, bei diesem Beispiel sehe ich keine Verwendung von NULL.
0 ist eine Konstante vom Typ int, so wie 0.0 eben double ist.

Re: <null>-Transport bei Firebird 2.5 und 3 unterschiedlich

Verfasst: Sa 30. Jan 2021, 01:21
von vr2
Hallo bfuerchau,

habe das ursprüngliche Beispiel um Verwendung von null erweitert

Viele Grüße, Volker

Re: <null>-Transport bei Firebird 2.5 und 3 unterschiedlich

Verfasst: Sa 30. Jan 2021, 10:52
von bfuerchau
Dann versuche das mal in der rekursiven CTE beim ersten Select.
Dass diese beim normalen union Select geht wissen wir doch schon;-).
Das ist dann aber eine spezifische Firebirdlösung die nicht mit jeder DB geht.