- iPhone topik
- Poco F7
- Honor Magic6 Pro - kör közepén számok
- MIUI / HyperOS topik
- Apple iPhone Air - almacsutka
- Képeken a Huawei új Watch GT 6 órái
- Nagyon különleges lesz a Realme GT 8 Pro
- Hetekig bírják töltő nélkül a Huawei sportórái
- Xiaomi 15 - kicsi telefon nagy energiával
- Ezzel a mobillal készülhet a 2026-os MWC-re a HMD
Új hozzászólás Aktív témák
-
Apollo17hu
őstag
válasz
szmegma #1347 üzenetére
Gondolkodtam, hogyan kellene továbbhaladni. Lehet, hogy túlbonyolítom, de 2 halmazt (lekérdezést) kellene alkotni. Az eddigiekhez képest módosítani kell a meglévő lekérdezésen, lejjebb írom, hogyan:
1. azon munkások, akik munkaidején belülre esik a vizsgálandó időintervallum
2. minden munkás minden munkavégzését minősíteni aszerint, hogy üti-e a vizsgált intervallumot -> ["oszlop"]Az elsőnek vhogy így kell kinéznie:
SELECT DISTINCT workers_id
FROM ...
WHERE munkaido_start < checking_start AND munkaido_end > checking_endEz csak a munkások azonosítóit adja vissza, semmi mást, és másra nincs is szükség.
A második pedig az eddig megírt lekérdezésed módosítása. Annyit kell átírnod benne, hogy a WHERE -ből kitörlöd az eddigi szűréseket, helyette pedig beírod a CASE WHEN tartalmát (és így egyúttal az ["oszlop"] segédoszlopot ki is törölheted). Tehát így:
SELECT DISTINCT workers_id
FROM ...
WHERE munkafolyamat_start < checking_tart AND munkafolyamat_end > checking_endEz csak azokat a munkásokat listázza, akik már foglaltak a vizsgált intervallumot tekintve.
Ha sikerült előállítani a fenti két lekérdezést, akkor LEFT (vagy RIGHT) JOIN-nal kösd össze őket! Az 1. halmazból "kivonva" a 2. halmazt azokat a munkásokat kapod, akik ráérnek a vizsgált időpontban.
Így:
SELECT munkaideje_megfelel.workers_id
FROM (első lekérdezés kódja) AS munkaideje_megfelel
LEFT JOIN (második lekérdezés kódja) AS munkafolyamatat_uti
ON munkaideje_megfelel.workers_id = munkafolyamatat_uti.workers_id
WHERE munkafolyamatat_uti.workers_id IS NULLA JOIN-okban nem vagyok biztos, én más szintaktikát szoktam használni, de a lényeg sztem látszik.
Ha ez kész, akkor írom, hogyan csapd a workers_id mellé a szükséges infót (de erre már te is rá tudsz jönni).
-
Apollo17hu
őstag
válasz
szmegma #1347 üzenetére
Ha jol ertem, akkor ez mar CSAK ["oszlop"]=>"true" erteku munkast dob vissza? Magyarul aki biztos nem er ra.
Nem, ["oszlop"] értéke lehet "false" is, ami azt jelenti, hogy a munkásnak ez a munkája nem ütközne abba a munkába, amit rá akarunk sózni. Viszont a munkásnak több munkája is van, és ha csak egynél is "true" értéket kapsz, az fogja azt jelenteni, hogy a munkásnak van olyan munkája, ami üti a rásózandó melót. De át is írhatod a "true" és a "false" értékeket pl. "not feasible" és NULL -ra vagy bármire, hogy hangsúlyosabban látszódjon.
Idokozben kiderult itt egy ujabb dolog. Megpedig, hogy nem csak egyetlen idopontot kell vizsgalnia a keresnek, hanem ido intervallumot.
Ezt úgy kellene megoldani, hogy az intervallum kezdetét és végét tárolod. Tehát mondjuk checking_start és checking_end meződ van. Az ["oszlop"] meződet kell csak módosítanod (ennek is adhatnál mondjuk egy ["check_worker_time"] vagy bármilyen, beszédes nevet) úgy, hogy a checking_start -ot a workers_start_hour -hoz, a checking_end -et pedig a workers_end_hour -hoz viszonyítod.
Új hozzászólás Aktív témák
- Hibátlan Apple iPad 10.9 2022 64GB WiFi + Apple iPad Smart Cover eladó! Garancia!
- Asus TUF Gaming A15 FA507 - 15,6"FHD 144Hz - Ryzen 7 7435HS - 16GB - 512GB SSD - RTX 4050 -2+ év gar
- T15p Gen2i 15.6" FHD IPS i7-11800H GTX 1650 32GB 1TB NVMe magyar vbill ujjlolv IR kam gar
- SAMSUNG AI Smart VA monitor 32" M7, 3840x2160, 16:9,
- TRUST GXT 498 Forta vezetékes fejhallgató mikrofonnal, PC, PS4, PS5, 3,5mm jack, fehér
- Bomba ár! Dell Latitude 7480 - i5-6GEN I 8GB I 256GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- BESZÁMÍTÁS! Apple MacBook Pro 16 2024 M4 Max 48GB 1TB SSD macbook garanciával hibátlan működéssel
- Apple Pad 5.generácio / 32GB / Wi-fi / 12Hó garancia
- Hp Prodesk 600 G3/ G5/ G6 SFF/ i5 8-9-10 gen / Elitedesk 800 G4 /Win11- Számla, garancia
- Lenovo 14 Ideapad Slim 3 FHD IPS i5-12450H 4.4Ghz 8mag 16GB 512GB SSD Intel Iris XE Win11 Garancia
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest