Hirdetés

Keresés

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

  • DeFranco

    nagyúr

    válasz nyunyu #4709 üzenetére

    nos...

    az oldschool módszert használom, ahogy írod és szépen megy is addig, ameddig leírtad.

    ezek ugye önmagukban (a zárójelek között) önálló selectek, egymás változóit nem használják csak egymás mögé vannak láncolva.

    (az hogy pivotolgatok is ezekben az önálló selectekben, az egy másik kérdés. szerintem redundáns és ki kellene szedni de még nem jöttem rá a mikéntjére, ha csak simán kiszedem akkor az egy-a-többhöz kapcsolatok miatt a 20k-s valós rekordszámból a várt 400k-s rekordszám helyett (x20 oszlop a pivotban) 380 millió rekord lesz, nyilván én vétek hibát valahol)

    ez alá jönne az a rész (amit én írtam lentebb) amikor az önálló, tábla-szerű egységgé zárójelezett, aliasolt blokkokból ki szeretnék venni mutatókat, azokat pl. összeszorozni vagy kivonni, és ez már nem megy. mutatom példában:

    SELECT * FROM
    (
    SELECT
    AL1.munkavallalo...
    FROM... AL1
    ) K
    JOIN
    (
    SELECT
    AL2.munkavallalo
    AL2.mutatoX
    FROM AL2
    ) KHD
    ON K.munkavallalo = KH.munkavallalo
    JOIN
    (
    SELECT
    AL3.munkavallalo
    AL3.mutatoY
    FROM AL3
    ) AHD
    -- eddig a te logikáddal megegyezik, annyiban tér el hogy select * from van a definiált értékek helyett, de ez indifferens azt hiszem
    -- innen jönne az amit én szeretnék, de nem megy
    JOIN
    (
    SELECT
    K.munkavallalo
    KHD.mutatoX-AHD.mutatY
    FROM
    ???
    ) KAMEHAMEA

    de azt hiszem az első opció szerint lenne elegáns megcsinálni, én is gondoltam már erre (mióta megtanultam Tőled a where-t :D ) valószínűleg az lenne a praktikus.

  • nyunyu

    félisten

    válasz nyunyu #4709 üzenetére

    FROM (select munkavallalo, ...
    from ...
    where ...) K
    JOIN (select munkavallalo, ...
    from ...
    where ...) KHD
    ON KHD.munkavallalo = K.munkavallalo

    Erre gondoltam múltkor, amikor azt írtam, hogy tetszőleges select köré lehet zárójelet tenni, és az alquery mögéírt aliasnevet táblaként használni, ahol az SQL szintaxisa táblanevet vár.

    Csak a korábbi példánál még nem értettem, hogy mit akarsz joinolni hova.

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