Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

sql -upit muke po UNIQUE

[es] :: MySQL :: sql -upit muke po UNIQUE

[ Pregleda: 2756 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Neznalica_sa_ugla
split

Član broj: 83282
Poruke: 390
*.adsl.net.t-com.hr.



Profil

icon sql -upit muke po UNIQUE22.02.2010. u 11:11 - pre 171 meseci
Molim pomoć !! imam tablicu , koja je napravljena od prethodnog upita

Code:

     id_upisa        id_osobe        id_zaduzenje 
      1                      1                  2 
      2                      1                  2          
      3                      2                  2 
      4                      3                  1 
      5                      4                  2
      6                      1                  1 
      7                      5                  1
      8                      2                  1
      9                      1                  2
    10                      3                  2 
    11                      2                  2     
    12                      2                  1  
   


Upit na ovu tablicu bi trebao vratiti sve osobe koje trenutno imaju id_zaduzenja=1 , ne koje su prije bile na tim zaduzenjima .
odgovor : bi bio osobe ( 5 i 2) ,a ne osobe ( 1,3,4)
( osoba 1 devetim upisom dobila zaduženje 2
osoba 3 desetim upisom dobile zaduženje 2
osoba 4 svakako je imala zaduženje 2)

Meni je potreban odgovo : 2,5 . ( 2 stavkom 12 , 5 stavkom 7 , su dobile zaduženje 1 )
HVALA




 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..131.160-dsl.net.metronet.hr.



+19 Profil

icon Re: sql -upit muke po UNIQUE22.02.2010. u 11:34 - pre 171 meseci
pa podaci ti se duplaju.
id_osobe i id_zaduženje.

stavi još recimo jedno polje bool, 1 za duguje kako hočeš , a 0 zatvoreno dugovanje.


 
Odgovor na temu

Neznalica_sa_ugla
split

Član broj: 83282
Poruke: 390
*.adsl.net.t-com.hr.



Profil

icon Re: sql -upit muke po UNIQUE22.02.2010. u 12:32 - pre 171 meseci
Mala dopuna ,vidim da je pogrešno protumačeno id_zadzženja : 1 > radovi u vrtu ; 2 -radovi u kuhinji ; 3 -> održavanje voznog parka ......
to što se 'duplaju' znaci da je osaoba završila jedan posao i počela drugi
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..131.160-dsl.net.metronet.hr.



+19 Profil

icon Re: sql -upit muke po UNIQUE22.02.2010. u 12:39 - pre 171 meseci
ali recimo za osobu s id-em 1 imaš dva puta isto zaduženje
onda ti ne valja model baze.

Code:

id zaduženje
1  2
1  2
 
Odgovor na temu

Neznalica_sa_ugla
split

Član broj: 83282
Poruke: 390
*.adsl.net.t-com.hr.



Profil

icon Re: sql -upit muke po UNIQUE22.02.2010. u 16:03 - pre 171 meseci
??? A što nebi valjalo , čovjek oguli krompire , ode u vrt očistiti baze i vreti se u kuhinju baciti smeće , i tako svaki dan. NIje postavljeno pitanje normalizacije baze , ovdje je riječ o upitu , a ja sam očigledno dosta zardjao , ... e gdje je sada chachka ?????
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..131.160-dsl.net.metronet.hr.



+19 Profil

icon Re: sql -upit muke po UNIQUE22.02.2010. u 18:38 - pre 171 meseci
zato što imaš duplanje podataka.

čudiš se kako ti ne radi, a veliš da je ok.
ovako kako ti imaš podatke, ne možeš dobiti ništa.
 
Odgovor na temu

bugsu
Vojvodina - Subotica

Član broj: 40006
Poruke: 381
77.46.176.*



+3 Profil

icon Re: sql -upit muke po UNIQUE23.02.2010. u 09:54 - pre 171 meseci
tebi treba samo da je kolona id_upise UNIQE a ostale da nisu .. i onda ce ti raditi ....
Say NO to pop culture!!!
Crno je uvek u modi....
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: sql -upit muke po UNIQUE23.02.2010. u 13:35 - pre 171 meseci
ako sam te ja dobro svatio, ti imas za svaku radnju upisano u tabelu "ko" je radio i "sta je radio" i oces da izvades sta je radio "poslednje"??

problem:
id_upisa mysql ti ne garantuje da ce auto_increment (Sto ovde verovatno koristis) ici PO REDU, tj da je slog sa ID 100 upisan PRE sloga sa ID 200 ... dakle bez problema moze da bude obrnuto !!!! tako da ako hoces "Vremenski" poslednji onda moras da dodas neki timestamp i u njega da upisujes vreme posto trazenje "zadnjed id-a" nece da radi (uvek).

dakle ako uzmemo da ti je tabela
Code:

create table t1 (
 id_upisa int auto_increment primary key, 
 id_osobe int, 
 id_zadozenja int, 
 vreme_upisa timestamp not null default='NOW()'
);


onda ces na primer za usera 10 da dobijes "poslednju radnju":

Code:

select * from t1 where 
id_osobe = 10 
order by vreme_upisa desc 
limit 1;


e sad ... ovo sto ti hoces (koji useri su "zadnji" cistili krompir?) je malo kompleksnije ..

Code:

select x.id_osobe, 
(select id_zaduzenja from t1 y where x.id_osobe = y.id_osobe 
order by vreme_upisa desc 
limit 1)
from t1 x
group by x.id_osobe



 
Odgovor na temu

Shinhan
PHP programmer
Subotica

Član broj: 12327
Poruke: 372
*.static.isp.telekom.rs.

Jabber: shinhan@elitesecurity.org
ICQ: 400847988


+4 Profil

icon Re: sql -upit muke po UNIQUE24.02.2010. u 07:19 - pre 171 meseci
Drugo rešenje je da imaš dve tabele, jedna za šta su poslednje radili, a jedna za arhivu. I onda kad se dodaje nešto novo, ako za taj tip postoji zapis u aktivnoj prvo to pomeriš u arhivu a onda novo snimiš u aktivnu. Naravno, opet ti treba datumsko polje u obe tabele, ali na ovaj način je lakši i brži upit za trenutno stanje. Ovo bi možda i trigerom moglo da se uradi.
"Common sense is not so common." - Voltaire
 
Odgovor na temu

[es] :: MySQL :: sql -upit muke po UNIQUE

[ Pregleda: 2756 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.