Új hozzászólás Aktív témák
-
Novics
senior tag
Jönnék egy újabb kérdéssel.

Van egyszer a fentebb megoldott lekérdezés, ahol megkapjuk a legkorábbi kezdődátumot. De vannak olyan userek, akiknél nincsen ilyen dátum, hozzájuk egy másik táblázatban lévő kezdődátumot kellene beírni.
Van tehát 2 tábla:
szemad - itt található a jelenlegi kezdődátum
kmh - itt vannak felsorolva a korábbi munkahelyek, innét kellett a legkorábbit kikeresni
Nekem a jelentésre a kezdődátumhoz vagy a kmh-ban szereplő legkorábbi dátumot, vagy ha ilyen nincsen, akkor a szemad kezdődátumot kell kiíratnom. A két tábla a szemad.id = kmh.dolg mentén van összekapcsolva.Az IIF-re, és beágyazott lekérdezésekre gondoltam - de gondolva az előző megoldásra, lehet, hogy megint ágyúval megyek verébre -, amivel megvizsgálom, hogy a kmh-ban van-e érték, ha nincs, akkor a szemadból kérdezem le a jelenlegi kezdődátumot, ha van érték, akkor az ottani legkisebbet keresem meg.
SELECT szemad.id, szemad.nev, IIF(ISEMPTY((SELECT kmh.kezdete FROM kmh INNER JOIN szemad ON kmh.dolg = szemad.id WHERE kmh.beszamithato =YES)),(SELECT szemad.jogvisz_kezd FROM szemad),(SELECT kmh.kezdete FROM kmh INNER JOIN szemad ON kmh.dolg = szemad.id WHERE kmh.beszamithato =YES))
FROM szemad INNER JOIN kmh ON szemad.id = kmh.dolg
GROUP BY szemad.nev, szemad.id;Azt kapom vissza, hogy ez az allekérdezés legfeljebb egy rekordot képes visszaadni. Nem tudom, hogy ezt pontosan hogyan is kell érteni, de arra magamtól is rájöttem, hogy ez így nem lehet jó. Az allekérdezések ugye nem egy-egy értéket adnak vissza, szóval valahogyan meg kellene mondani nekik, hogy a külső SELECT szemad.id-hoz igazodó értéket adják csak meg. Ha a szemad.nev/id-t átneveztem AS-zel, és az allekérdezésekben meg a WHERE záradékban beírtam, hogy kulso_nev = szemad.nev, akkor meg azért rinyált, hogy a kulsp_nev nem szerepel összesítő függvényben, akkor sem, ha mindegyik függvénybe beleírtam. Szóval totális a káosz, és már nincsen több ötletem.
Közben azért guglizok, és felmerült, hogy esetleg valami olyan megoldás kellene, mint a programozásnál a szubrutinok. Lehet olyat, hogy megírja az ember a 3 lekérdezést, elnevezi őket, és utána csak rájuk hivatkozik? Gyanítom, hogy a külső FROM-ba bele kellene írni ezeket a lekérdezéseket is.
Van valami jó oldal, ahol érthetően, de nem 28ezer oldalon keresztül bemutatják a lekérdezéseket?
A Taylor-féle SQL for Dummies mennyire jó, mennyire szakmai?
Új hozzászólás Aktív témák
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- 192 - Lenovo Legion 5 (15IRX10) - Intel Core i7-14700HX, RTX 5060 (FOGLALVA)
- HIBÁTLAN iPhone 13 mini 128GB Pink -1 ÉV GARANCIA -Kártyafüggetlen, MS3844
- TP Link HS100 Távolról vezérelhető Wi-Fi-s dugalj (Smart Plug)
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest


