- Újabb államok perelik az Apple-t, mert sok pénzt szed ki a vevőkből
- Windows 11
- SUSE Linux
- Meggyőző arcjátékkal reagál a kínai humanoid robot
- Milyen routert?
- Alternatív kriptopénzek, altcoinok bányászata
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Otthoni hálózat és internet megosztás
- Max
- Béta iOS-t használók topikja
Új hozzászólás Aktív témák
-
jeszi
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.Nem félek a haláltól, majdcsak túlélem valahogy!
-
jeszi
tag
Az egész orvos adatbázist átraktam Access-ből MySql-be. Az átkonvertálást DBTools Manager Professional programmal végeztem.
Miért van az, hogy ugyan az a lekérdezés Access-ben kb. 5 másodpert, MySql-ben meg 15-20 perc?Nem félek a haláltól, majdcsak túlélem valahogy!
-
jeszi
tag
Van egy tábla, melyben a mezők: |telep| |megye| |nev| |id| |és még sok oszlop...|
Azokat a sorokat akarom megkapni, melyben a nev+megye csak egyszer szerepel.
Szóval ha 2 ''Nagy Béla'' van Hajdú-Biharban, akkor ő ne legyen benne az új táblában.
Ha csak az egyedi neveket nézem, akkor ez működik:
SELECT * FROM brick, [SELECT nev as onev, count(*) as db FROM brick GROUP BY nev having count(*) = 1]. AS [onev] WHERE nev = onev;
Tudja valaki a megoldást?Nem félek a haláltól, majdcsak túlélem valahogy!
-
jeszi
tag
Most nézem csak, hogy írtál nekem megoldást, mindjárt kipróbálom azt, de közben sikerült egy jó megoldást találnom:
SELECT * FROM brick,
[SELECT nev + megye as nev_megy FROM brick
GROUP BY nev + megye having count(nev + megye) = 1]. AS nev_megy
WHERE nev + megye=nev_megy;
Köszönöm a gyors segítséget nektek!Nem félek a haláltól, majdcsak túlélem valahogy!
-
jeszi
tag
Van két tábla: ''a'' és ''b''
a-nak azon elemeit akarom megkapni, melyek b-ben nincsenek meg.
Azt hiszem ez jó megoldás:
SELECT a.id FROM a
WHERE a.id NOT IN
(SELECT b.id FROM b);
Indexelve vannak a mezőnevek, de már 25 perce fut a lekérsezés! Nem lehet ezt valahogy másképp megírni? (Ezek a ''not in''-es lekérdezések mindig sokáig tartanak )Nem félek a haláltól, majdcsak túlélem valahogy!
Új hozzászólás Aktív témák
- CTO ÚJ Bontatlan MacBook Pro 16 M3 Pro 12CPU/18GPU 18GB/1TB SSD Magyar billentyűzet Azonnal átvehető
- ÚJ BONTATLAN Apple Watch Series 8 S8 41-45mm Azonnal Átvehető DEÁK TÉRNÉL 1 Év Apple Garanciával.
- Új APPLE AIRPODS PRO 2 GEN USB-C bontatlan aktiválatlan 1 év garancia AZONNAL ÁTVEHETŐ Deák Térnél.
- BONTATLAN Új Iphone 15 és 15 Plus 128-512GB 1év APPLE garancia gyári független Deák AZONNAL Átvehető
- BONTATLAN Új Ipad 2022 10th Minden szín 1 év hivatalos Apple Garancia AZONNAL ÁTVEHETŐ DEÁK TÉRNÉL.