Keresés

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

  • nyunyu

    félisten

    válasz nyunyu #5315 üzenetére

    Oracle alatt lehet még használni egy rakat aggregáló függvényeknél az over (partition by valami) záradékot, akkor dinamikusan csoportosítja a rekordokat, és nem kell a lekérdezés végére a kemény group by:

    create view cikkek_vw as
    select c.id cikk_id,
    c.cim cim,
    c.create_date datum,
    c.creator cikk_iro,
    listagg(ck.kategoria_id, ', ') within group (order by ck.kategoria_id) over (partition by c.id) kategoria_id,
    listagg(k.nev, ', ') within group (order by ck.kategoria_id) over (partition by c.id) kategoria_nev
    from cikkek c
    join cikk_kategoria ck
    on c.id = ck.cikk_id
    join kategoriak k
    on ck.kategoria_id = k.id;

    De pl. az előbb linkelt MS SQL doksiban explicite leírják, hogy náluk kötelező a group by a string ragasztó függvényhez.

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