- Fotók, videók mobillal
- Jolla és SailfishOS tapasztalatcsere
- iPhone topik
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Milyen okostelefont vegyek?
- Kezünkben a OnePlus 15 és az Oppo Find X9-ek
- Google Pixel topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Amazfit Active 2 NFC - jó kör
Új hozzászólás Aktív témák
-
sky77
aktív tag
válasz
Szaki@Pécs
#63
üzenetére
Így esetleg?
delete from x
where param1 not in (select param1 from y)
and param2 not in (select param2 from y)
Mielőtt próbálgatod, azért valami biztonsági másolatot készíts! -
sky77
aktív tag
Mysql-hez sajna a legkevésbé sem értek, viszont errefelé érdemes lehet körülnézni: Bővebben: link
Ezen belül is talán ez a legmegfelelőbb topic: Bővebben: link
Remélem tudnak segíteni. -
sky77
aktív tag
Í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] -
sky77
aktív tag
Küldtem választ, de ide is leírom, biztos, ami biztos.
Szerintem, ha mondjuk left join-nal egy egyértelmű megfeleltetést tudsz felállítani a táblák között, kisebb adathalmazból fog dolgozni a select, így van rá esély, hogy gyorsabb lesz, ugyanisselect * from a,b
visszaadja az összes olyan elemet, ami mind a-nak, mind b-nek halmaza, úgy, hogy b összes eleméhe rendeli a összes elemét. Így aztán a where feltétel egy adott esetben akár óriási adathalmazból választja ki azokat a sorokat, akik a kitételnek megfelelnek.
Ha pl így oldod meg:select * from a
left join b on b.x=a.x
tehát már az összekapcsolásban szerepel a ''where feltétel'', eleve kisebb adathalmazt kapsz, amit nem is kell tovább szűkíteni.
Próbáld meg így, hátha segít valamicskét. Addig is nézegetem a kódot, ha időm engedi.
Szerk.: Lehet, hogy célszerű lenne, ha kevesebb adatot hozna a select, így nem kéne annyi táblát összekapcsolni, s a bővebb információk csak akkor kerülnének lekérdezésre, ha a felhasználó úgy kívánja (pl. gombnyomásra). Már ha a feladat engedi, persze.
[Szerkesztve] -
sky77
aktív tag
Ezt így hirtelen kicsit nehéz átlátni... Talán jobb lenne előről kezdeni a lekérdezést, úgy, hogy elmondod, mi a feladat (milyen adatokat szeretnél visszakapni) és ehhez milyen táblák (ill. mezők) állnak rendelkezésre. Biztosan lehetne ezt is optimalizálni, de valahogy nem visz rá a lélek, hogy átbogarásszam.
-
sky77
aktív tag
Szerintem az is fontos lenne, hogy abból a cikkcsoportból selectálja ki a legalacsonyabb árnak megfelelőt, amelyik cikkcsoportnak a legalacsonyabb áráról van szó, pl így:
select CIKK.CIKKNEV, MINARAK.AR from
(select min(EGYSEGAR) as AR, CIKKCSOPORT
from CIKK group by CIKKCSOPORT)
as MINARAK
join CIKK on MINARAK.AR = CIKK.EGYSEGAR
and CIKK.CIKKCSOPORT = MINARAK.CIKKCSOPORT
Új hozzászólás Aktív témák
- Érintőképernyős pénztárgép - Celeron J1900, 4GB RAM
- Új Lenovo Thinkbook 14 G7 WUXGA IPS Ultra7 155H 16mag 32GB 1TB SSD Intel Arc Win11 Pro Garancia
- Új HP 16 Victus FHD IPS 144Hz Ryzen7 8845HS 5.1Ghz 16GB 1TB SSD Nvidia RTX 4060 8GB Win11 Garancia
- Új Asus Zenbook S14 WQXGA OLED 120Hz Ultra7 258V 32GB 1TB SSD Intel Arc 140V 16GB Win11 Garancia
- Asus 17 TUF Gaming FHD IPS 144Hz G-Sync Ryzen7 7435HS 16GB 512GB Nvidia RTX 4060 8GB Win11 Garancia
- Samsung LH55CSPLBC 55" LCD monitor
- Apple iPhone 17 Pro Max 256GB,Újszerű,Dobozaval,24 hónap garanciával
- szinteÚJ! Microsoft Surface Laptop 5 13.5" i5-1245U 16GB 512GB Alcantara 1év garancia
- Xbox One / Xbox Series játékok
- BESZÁMÍTÁS! ASUS B150M i5 7500 8GB DDR4 256GB SSD GTX 1050Ti 4GB Nbase Black Midi DeepCool 400W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



