Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 2 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 28.10.11
Prihlásený: 16.04.14
Príspevky: 6
Témy: 4
Príspevok NapísalOffline : 09.04.2014 15:37

Zdravím potrebujem poradiť mam tabulku

id | idCinnosti | IdZamestnanca | DobaTrvania
1 51 1 10:00:58
2 53 1 12:00:27
3 51 2 01:52:37
4 53 3 00:00:15
5 54 2 00:30:10
6 55 1 00:45:00
7 54 3 11:00:00

potrebujem dostat vystup
IdCinnosti | max(DobaTrvania) | IdZamestnanca1 | min(DobaTrvania) | IdZamestnanca2

IdZamestnanca1 - id zamestnanca ktory vykonaval danu cinnost najdlhsie
IdZamestnanca2 - id zamestnanca ktory vykonaval danu cinnost najkratsie



mam nasledovne selecty:
SELECT IdCinnosti, max(dobaTrvania), IdZamestnanca AS IdZamestanca1, min(dobaTrvania), IdZamestnanca AS IdZamestnanca2 FROM zaznam GROUP BY IdCinnosti

Vystup (ukazka)
IdCinnosti | max(DobaTrvania) | IdZamestnanca1 | min(DobaTrvania) | IdZamestnanca2
51 10:00:58 1 00:00:00 1
53 12:00:27 1 00:00:02 1
54 01:52:37 1 00:00:47 1
55 13:18:14 1 00:01:48 1

-tento select vyberie najdlhsie aj najkratsie doby a priradi ich k spravnym cinnostiam, ale neviem ku nim priradit IdZamestnanca , resp vsade su id 1 ale to nieje spravne.

mam este dalsie dva selecty
select IdCinnosti, max(Dobatrvania), IdZamestnanca as IdZamestnanca1 FROM zaznam WHERE DobaTrvania IN (SELECT Max(dobatrvania) FROM zaznam GROUP BY IdCinnosti) GROUP BY IdCinnosti

select IdCinnosti, min(Dobatrvania), IdZamestnanca as IdZamestnanca2 FROM zaznam WHERE DobaTrvania IN (SELECT min(dobatrvania) FROM zaznam GROUP BY IdCinnosti) GROUP BY IdCinnosti

Tieto dva selecty priradia aj spravne idecka zamestnancov ale neviem ich spojit do jednej tabulky ako som ju uz nacrtol

IdCinnosti | max(DobaTrvania) | IdZamestnanca1 | min(DobaTrvania) | IdZamestnanca2

Diki za radu.


Offline

Čestný člen
Čestný člen
spojenie selectov....

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 09.04.2014 19:25

Najprv, stokrat omielana chyba pri pouzivani GROUP BY, bohuzial MySQL ej kej ej najhorsi DBMS vsetkych cias robi vsetko preto, aby uzivatelia pisali zly kod. Ak pouzivas GROUP BY, mozes selectovat bud 1) to, co mas v GROUP BY, alebo 2) vysledok agregacnych funkcii. Nedava ziadny zmysel a je chybou selectovat trebars v tom prvom selecte idZamestnanca. Predstav si nasledovne data:
Kód:
id | idCinnosti | IdZamestnanca | DobaTrvania
 1 |          1 |          1337 |     0:10:00
 2 |          1 |          8086 |     0:10:00
Kazdy normalny DBMS ti zahlasi, ze tam mas chybu, lebo sa nema na zaklade coho rozhodnut, ci vybrat idZamestnanca 1337 alebo 8086. Preto ti ten prvy dotaz vracia hlupe vysledky, lebo to idZamestnanca si vymysli uplne nahodne.
Tie dva selecty spojis normalne selectovanim z viacerych tabuliek naraz, podla mna chces toto:
Kód:
SELECT
    a.idcinnosti, a.dobatrvania, a.idzamestnanca,
    b.idcinnosti, b.dobatrvania, b.idzamestnanca
FROM zaznam a, zaznam b
WHERE a.dobatrvania = (
    SELECT MAX(dobatrvania) FROM zaznam
)
    AND b.dobatrvania = (
    SELECT MIN(dobatrvania) FROM zaznam
)
Ale tych vyselectovanych riadkov moze byt viac, ak budes mat viac maximalnych/minimalnych trvani (dokonca je to kartezsky sucin, cize ti to moze narast celkom dost ; ).
Nabuduce pouzivaj [code].
Kazdopadne nepises, ci moze byt v tabulke viac zaznamov s rovnakym (idcinnosti, idzamestnanca) - logicky vychadza, ze ano, tak to asi bude treba upravit, ale u teba ziadny pokus o SUM ani nic podobne nevidim, tak si asi na to tiez nemyslel - upresni. Aky typ ma kdyztak stlpec dobatrvania?


Odpovedať na tému [ Príspevkov: 2 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. previazanost selectov

v HTML, XHTML, XML, CSS

6

639

11.05.2009 12:18

pilná lama glama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. filtrovanie selectov

v JavaScript, VBScript, Ajax

8

639

17.09.2008 14:55

Broko71 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. previazanosť selectov a mensia zmena v ňom

v HTML, XHTML, XML, CSS

0

528

27.04.2009 18:37

pa3ck Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie

v Ostatné

2

754

19.08.2007 14:39

Santy31 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie HDD

v Pevné disky a radiče

8

1160

18.10.2006 21:49

matooo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Spojenie partícií

v Pevné disky a radiče

12

1393

30.05.2014 18:58

4040 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Spojenie filmu

v Video programy

4

493

04.10.2010 15:47

Icehammer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie tabuliek

v Databázy

4

398

19.12.2013 11:21

ChickenHunter79 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. WiFi spojenie

v Siete

0

570

07.09.2007 22:42

malacha Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie zvazkov

v Pevné disky a radiče

14

1436

05.10.2018 13:00

crystal8045 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zle spojenie

v Video programy

2

490

13.10.2008 14:08

Skyro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Spojenie videa

v Video programy

1

321

05.03.2016 18:35

SKiLEX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie disku

v Ostatné programy

9

1499

12.04.2007 21:38

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Spojenie videí

v Video programy

6

698

02.10.2009 17:12

Dzin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie prihlaseni

v PHP, ASP

5

515

17.06.2008 13:43

jozefstefan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie autoroutu

v Ostatné programy

5

531

21.11.2006 15:38

shiro Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra