Hirdetés

Keresés

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

  • #68216320

    törölt tag

    válasz Peter Kiss #1153 üzenetére

    Egyik sem. Hanem ezzel a táblaszerkezettel a LEFT JOIN és Group By sajnos nem elkerülhető, ami esetemben piszok sok sort eredményezne teljesen feleslegesen. Gyakorlatilag az elméleti része volt hibás, hisz miért számoljon minden lekérdezésnél, ha ugyanaz lesz az eredmény. De már megoldódott, kis változtatással, optimalizálással.

    select p.*, avg(eb.ertek_szam), avg(ep.ertek_szam) from pinceszetek p
    left join borok b on p.id = b.pinceszet_id
    left join ertekelt_borok eb on eb.bor_id = b.id
    left join ertekelt_pinceszetek ep on ep.pince_id = p.id
    group by p.id;

    Ez egy leegyszerűsitett verzió, tökéletesen működik, de lassú.
    pl. 3000 pincészet, pincészetenként 15 bor, boronként 50 értékelés. felesleges sorok a join miatt. ennyi.

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