Új hozzászólás Aktív témák

  • nyunyu

    félisten

    válasz DeFranco #4711 üzenetére

    Összeadni-kivonni a különböző alqueryk eredményeit csak annak a query mezőlistájában tudod, amelyik queryben definiáltad az aliasokat:
    SELECT
    K.[munkavállaló] "MUNK"
    KHD.[érték]/AHD.[érték] AS "KPERA"
    KH.[hónapazonosító] AS "HO"
    FROM (select munkavallalo, ...
    from ...
    where ...) K
    JOIN (select munkavallalo, ertek ...
    from ...
    where ...) KHD
    ON KHD.munkavallalo = K.munkavallalo
    JOIN (select munkavallalo, ertek ...
    from ...
    where ...) AHD
    ON AHD.munkavallalo = K.munkavallalo
    JOIN (select munkavallalo, ho ...
    from ...
    where ...) KH
    ON KH.munkavallalo = K.munkavallalo

    N+1-edik joinolt alselect nem hivatkozhat az előző alselectek mezőire, mert Oracle alatt nem látják egymás változóit a különböző aliasolt nézetek.
    (Kivéve CTE kifejezést írva, ott használhatod joinra a korábban definiált másik alselectek aliasait.)

    (Előbb emlegetett Teradata DWH queryjeiben az aliasok globálisan láthatóak az egész queryben, nem csak az őket hivatkozó szinten.
    Ja, plusz ott mező alias is hivatkozható, pl. select 1+1 as a, a+1 as b; simán visszaad A=2, B=3-at, Oracle meg szintaktikai hibát dob :D)

    [ Szerkesztve ]

    Hello IT! Have you tried turning it off and on again?

Új hozzászólás Aktív témák