Ú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
- GIGABYTE GeForce RTX 5080 AORUS MASTER 16GB GDDR7 256bit 3+1 év Alza garancia
- NZXT Kraken 360 (RL-KN360-B1) GARANCIA MÉG 50 HÓNAP!
- Samsung Galaxy tab A8 SM-X200 10,5 " tablet
- 480-512GB bontatlan M.2 NVMe SSD-k eladók GARANCIÁVAL/SZÁMLÁVAL (a Te nevedre kiállítva)!
- Corsair VENGEANCE 64GB (2x32GB) DDR5 6400MHz CL32 (98 HÓNAP GARANCIA)
- GYÁRI TÖLTŐK DELL LENOVO HP FUJITSU TOSHIBA Macbook---------- Budapest,/MPL/Foxpost
- 173 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5080 (ELKELT)
- LG 40WP95XP-W - 40" NANO IPS - 5120x2160 5K - 72Hz 5ms - TB 4.0 - HDR - AMD FreeSync
- BESZÁMÍTÁS! LENOVO ThinkPad P15 Gen2 munkaállomás - i7 11800H 64GB DDR4 1TB SSD RTX A2000 4GB W
- Azonnali készpénzes Sony Playstation 5 lemezes és digitális felvásárlás személyesen/csomagküldéssel
Á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
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
