Hirdetés
Új hozzászólás Aktív témák
-
-
Prog-Szerv
csendes tag
Kicsit agyaltam rajta, így az van amit említettél is, sajnos ez kiszelektálja azokat a projekteket is amikben van 0 hour érték is és annál nagyobb is:
SELECT COUNT(DISTINCT project_id) FROM join_project_task JOIN project ON project.id = join_project_task.project_id WHERE project.elements > 0 AND join_project_task.hours > 0Ez úgy tűnik működik, csak azokat szelektálja amikben csak 0 hour értékű task van:
SELECT COUNT(DISTINCT project_id) FROM join_project_task JOIN project ON project.id = join_project_task.project_id WHERE project.elements > 0 AND join_project_task.hours = 0Próbáltam beépíteni a not in operátort de erre 0 értéket kapok vissza:
SELECT COUNT(DISTINCT project_id) FROM join_project_task JOIN project ON project.id = join_project_task.project_id WHERE project.elements > 0 AND project.id NOT IN (SELECT project_id FROM join_project_task WHERE hours = 0) -
Prog-Szerv
csendes tag
Kezdem kapizsgálni....az a baj hogy nekem nem a task táblában tárolódik az hour -ra vonatkozó adat és mivel ez egy elég masszív program nem szeretném ezt a részét átalakítani, mert akkor egy csomó másik helyen módosítanom kellene a kódot
Szóval az hour a "join_project_task" táblán belül van. Leegyszerűsítve csak arra ami nekünk most itt kell:
"project" tábla tartalma: id
"task" tábla tartalma: id, name
"join_project_task" tartalma: project_id, task_id, hoursAz hours értéke változhat, nem fix, tehát előfordulhat hogy például egy szerelés 4 óra de lehet hogy csak 2, ezért van így tárolva. Ez olyasmi mint egy digitális jelenléti ív, tehát változhat hogy 1-1 feladat mennyi idő alatt készül el, utólag kerül beírásra.
-
Prog-Szerv
csendes tag
Sziasztok!
Kis segítséget szeretnék kérni.
MySQL-en belül adott 3 db adattábla: project, task, join_project_task Értelem szerűen a join tábla köti össze a task táblában felsorolt feladatokat a projektekkel és a projekt táblán belül szerepelnek a projektek alapadatai. Namost a join táblán belül ugye szerepel a project_id, task_id és egy hour oszlop ami arra szolgál, hogy ide kerül be az az információ INT formában hogy az adott projekthez tartozó adott feladatot mennyi időbe telt elvégezni. A kérdés
hogyan tudnám összeszámolni mondjuk egy sum-al hogy hány darab olyan projektem van ahol a projekthez tartozó összes feladat el lett végezve tehát az hour oszlop mindenütt > 0
Példa:ezt ne countolja:
p_id=1 task_id=1 hour =1
p_id=1 task_id=2 hour =0ezt viszont igen:
p_id=2 task_id=1 hour =1
p_id=2 task_id=2 hour =2és ezt is:
p_id=3 task_id=2 hour =4
p_id=3 task_id=3 hour =3így a végeredmény a példa alapján: 2
Illetve azt hogyan tudom megoldani hogy számolja össze az hour értékeit de csak azoknál a projekteknél ahol mindegyik > 0 ?
Remélem nem bonyolítottam túl a leírást.

Új hozzászólás Aktív témák
- Bomba ár! HP ProBook X360 435 G7 - Ryzen 3 I 8GB I 256SSD I 13,3" FHD Touch I W11 I Cam I Gari!
- Apple iPhone X Space Gray Ikonikus dizájn, Face ID, OLED kijelző 64 GB Használt, megkímélt ,100%
- Új, Aktiválatlan iPhone 17 (256 GB) (rendelhető)
- Bomba ár! Dell Latitude 3340 - i3-4GEN I 4GB I 500GB I 13,3" HD I HDMI I Cam I W10 I Garancia!
- Vásárlunk iPhone 12/12 Mini/12 Pro/12 Pro Max
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest
Szóval az hour a "join_project_task" táblán belül van. Leegyszerűsítve csak arra ami nekünk most itt kell:
hogyan tudnám összeszámolni mondjuk egy sum-al hogy hány darab olyan projektem van ahol a projekthez tartozó összes feladat el lett végezve tehát az hour oszlop mindenütt > 0

