Autor Zpráva
Lolita
Profil
Ahoj,

tohle je asi fakt trapnej problem, ale nevim jak to resit :(

SQL prikaz nahore je jen pro ukazku moji hluposti

takze ty veci co sou na obrazku presktnuty proste nechci ve vysledku mit (cely readky kde je preskrtnuty ten sloupec) a ten zelenej chci, Na obrazku je to znazorneneny jen pro employe_ID=1 (proto by stacilo employe_worktime.start_time), ale ja to chci jak pro ID_1 tak i 2

snazim se nejak pochopit distinc, protoze si myslim, ze se to asi resi pres nej, ale nejak tomu nemuzu prijit na kloub

TADY JE OBRAZEK TOHO CO CHCI

Fakt by me pomohlo kdyby nekdo vedel a pochopil co chci a napsal mi odpoved :)

diky
tiso
Profil
Lepšie by bolo keby si to popísal inak:
mám tieto tabuľky so týmito stĺpcami: bla bla
ako vyberiem bla bla? Z obrázku nie je jasné čo chceš dosiahnuť, domýšľať si to z dotazu nie je vhodné...
Lolita
Profil
Ok,

mam db s touhle strukturou
http://img363.imageshack.us/img363/5981/sturkturadbwk5.png
nebo spis takova ve vysledku bude

kazdy employe mam v employe_worktime.start_time ulozeny data jako
start_time, employe
2007-08-19 8:00:00, 1
2007-08-19 8:30:00, 1
2007-08-19 9:00:00, 1
2007-08-19 9:00:00, 2
2007-08-19 8:30:00, 2
atd.

Proste kazdou zapocatou jednotku co je v praci - jednotku mam ted 30 minut. Prijde mi lehci na dalsi praci nez k nim ukladat pocatek a konec kvuli preruseni [i tak by se to pocitalo na pulhodiny].

v tabulce reservations sou zase start time pro kazdou rezervaci. Tj treba tam je
employe, start_time
1, 2007-08-19 8:30:00
1, 2007-08-19 9:00:00
2, 2007-08-19 8:30:00

Snad to jde pochopit ... doufam.

Ja chci vybrat kdy maji ten den pracovnici volno.



BTW kind je na tom obrazku spatne a v poly int budou ID rezervnovanych cinnosti oddelny carkou, protoze muze byt rezervovanych vic zaraz, pripadne na to udelam prostredni tabulku s id rezervace a id kind na propojeni, ale to se tohodle nijak netyka.
tiso
Profil
Lolita - toto je kandidát na WTF
Pri takto navrhnutej databáze neviem ako by sa to dalo spraviť, napadlo mi iba jedno riešenie typu škrabkanie sa pravou rukou za ľavým uchom...
Lolita
Profil
Neboj, na TheDailyWTF mam uz z tohodle projektu jinyho kandidata [bohuzel se ale na titulni stranu nedostal] :))

No me napadlo reseni pres foreach v php skriptu co by to pak resil resil pres spoustu selectu a vratil pole s vysledkem, ale rozhodne to neni tak pekne jako to udelat proste primo v mysql.

Nicmene jak jinak tu databazi navrhnout? Nejspis me nekde utekla nejaka absolutne zakladni vec, ale tenhle design db me prijde idelani (kdyz teda beru vpotaz i to, ze nehcci redundanci dat).
tiso
Profil
...z databázy sa ťažko vyberajú hodnoty ktoré tam nie sú - a to je to čo chceš... Čiže by to "riešila" tabuľka volno kde by si každému zamestnancovi pripisoval každú polhodinu riadky kedy nie je v práci. Prípadne riešenie s viac tabuľkami: pre každého zamestnanca zadáš pracovnú dobu od-do v tom dni (služba) a do tabuľky volno zapisuješ len ak má mať službu... Ťažko povedať čo to celé má robiť...
Lolita
Profil
No celkem asi toto
1. je potreba zadat kdy zamestnanec pracuje a zamestanancu je vic - a zadava se to konkretne - takze terba kdyz jde k zubari, tak mu v tom dni bude chybet hodina nekdy uprostred pracovni doby.
2. je potreba zadavat rezervace - je mozne rezervovat vic sluzeb zaroven, ale vzdy po sobe jdoucich [tj. je proste variablini cas rezervace a pocet sluzeb], ale musi jit zjistit o jake sluzby slo - a delat pak treba i sestavy
3. je potreba zjistit jestli je ten den volno
4. je potreba zjisitit KDY je ten den volno - tj. kdyz je zamesnanec v praci a a neni rezervovan - a to samozrejme pro vsechny zamestnance

Snad je to dobry pro predstavu o co jde.

Furt mam pocit, ze me nekde najaka silena zakladni vec nedochazi.





EDIT:
Tak me napadlo tohlo
tabulka s employe > talbuka s pracovni dobou pro ne (tj s starttime) - a na ni bude podle starttime navazana tabulka s rezervacema.
Kajman_
Profil *
select from employe_worktime w left join reservations r on w.start_time=r.start_time and w.employe=r.employe where r.employe is null
tiso
Profil
Kajman_ - no to pozerám...

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: