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

  • sky77
    aktív tag

    Sziasztok!
    (Gyenge vagyok sql-ben)
    Van egy lekérdezés egy Access adatbázisban:

    SELECT O.ORVOS_ID, O.VEZNEV1, O.KERNEV1_1, O.KERNEV1_2, I.INTEZMENY_NEV, I.IRSZ, I.TELEPULES, I.CIM, OIS.TELEFON1, OIS.TELEFON2, OIS.MELLEK, ORR.MEGYE, ORR.ORSZAGRESZ
    FROM ORVOS AS O, INTEZMENY AS I, ORVOS_INT_SW AS OIS, ORVOS_SZAKVIZSGA_SW AS OSS, SZAKVIZSGA AS SZ, TELEPULES AS T, ORSZAGRESZ AS ORR
    WHERE O.ORVOS_ID=OIS.ORVOS_ID And OIS.INTEZMENY_ID=I.INTEZMENY_ID And O.ORVOS_ID=OSS.ORVOS_ID And OSS.SZAKVIZSGA_ID=SZ.SZAKVIZSGA_ID And I.TELEPULES=T.TEL_NEV And T.MEGYE=ORR.MEGYE And SZ.SZAKVIZSGA=PSZAKVIZSGA AND O.ACTIVE = 1
    AND O.ORVOS_ID NOT IN
    (SELECT E.ORVOS_ID FROM EREDMENY E
    WHERE E.EREDMENY_TIP_ID IN (11, 12, 13))
    ORDER BY ORR.ORSZAGRESZ, ORR.MEGYE, I.TELEPULES, I.CIM;


    Ez borzasztó lassú, valahogy optimalizálni szeretném ezt a lekérdezést (vagy az adatbázist).
    Tudna valaki segíteni? Az adatbázisról készítettem egy képet (táblák, kapcsolatok), azt el tudom küldeni e-mail-ben.

    Így gyorsabb? Lefut egyáltalán? Én sajna nem tudom kipróbálni.


    SELECT O.ORVOS_ID, O.VEZNEV1, O.KERNEV1_1, O.KERNEV1_2,
    I.INTEZMENY_NEV, I.IRSZ, I.TELEPULES, I.CIM,
    OIS.TELEFON1, OIS.TELEFON2, OIS.MELLEK,
    ORR.MEGYE, ORR.ORSZAGRESZ
    FROM ORVOS AS O
    left join orvos_int_sw as ois on ois.orvos_id=o.orvos_id
    left join intezmeny as i on i.intezmeny_id=ois.intezmeny_id
    left join telepules as t on t.tel_nev=i.telepules
    left join orszagresz as orr on orr.megye=t.megye
    left join orvos_szakvizsga_sw as oss on oss.orvos_id=o.orvos_id
    left join szakvizsga as sz on sz.szakvizsga_id=oss.szakvizsga_id
    WHERE SZ.SZAKVIZSGA=PSZAKVIZSGA and O.ACTIVE = 1
    AND O.ORVOS_ID NOT IN
    (SELECT ORVOS_ID FROM EREDMENY
    WHERE EREDMENY_TIP_ID IN (11, 12, 13))
    ORDER BY ORR.ORSZAGRESZ, ORR.MEGYE, I.TELEPULES, I.CIM;


    Talán egy-két táblát is össze lehetne vonni, első ránézésre nem teljesen tűnt indokoltnak, hogy külön táblában vannak adatok, persze lehet hogy tévedek.
    Pl.:
    orvos_szakvizsga_sw --> orvos
    orszagresz --> telepules


    [Szerkesztve]

    [Szerkesztve]

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