SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
![]() |
|
Alati teme | Način prikaza |
|
![]() |
#1 |
profesionalac
Qualified
Datum učlanjenja: 02.05.2009
Poruke: 193
Hvala: 27
8 "Hvala" u 6 poruka
![]() |
![]() Imam dve tabele proizvodi i cene.
Tabela proizvodi je glavna i njene rezultate ispisujem. Neki proizvodi nemaju svoju cenu, tj ne postoji ID proizvoda upisan u tabeli "cene". E sad zelim da kod ispisivanja proizvoda najpre ispise proizvode koji imaju cene, tj. nalazi se ID u tabeli "cene", a onda proizvode bez cena. Probam nesto preko JOIN, ali ne uspevam nista. Ne znam dal u ORDER BY moze da se stavi neki pod upit, ili ide neki drugi nacin? |
![]() |
![]() |
![]() |
#2 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Jel imaš više cena po proizvodu?
Ako ne, možeš ovako, joinom: Kôd:
SELECT p.* FROM proizvodi p LEFT JOIN cene c ON p.id = c.proizvod_id ORDER BY c.id IS NULL Kôd:
SELECT *, (SELECT COUNT(*) FROM cene WHERE proizvod_id = p.id) AS cnt FROM proizvodi p ORDER BY cnt DESC;
__________________
blog |
![]() |
![]() |
"Hvala" jablan za poruku: |
![]() |
#3 | |
profesionalac
Qualified
Datum učlanjenja: 02.05.2009
Poruke: 193
Hvala: 27
8 "Hvala" u 6 poruka
![]() |
![]() Citat:
![]() Hvala puno! Nego, ako bi mogao da mi pojasnis malo ovo P. i C., ne znam koja je njihova funkcija ovde? Jel ima neki dobar tutorial o ovim upitima, al na srpskomk ![]() Hvala jos jednom!! |
|
![]() |
![]() |
![]() |
#4 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Bez znanja engleskog nemas sta da trazis u IT-u. Inace imas tutorijal u okviru MySQL Manuala a odlicna knjiga za MySQL je "MySQL" (Paul DuBois). Aktuelno je 4-to izdanje.
Link: http://www.amazon.com/MySQL-4th-Paul.../dp/0672329387 Poslednja izmena od dinke : 23. 02. 2011. u 16:15. |
![]() |
![]() |
![]() |
#5 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() p i c su tzv. aliasi, odnosno "nadimci" tabela proizvodi i cene. Često se desi da u više od jedne tabele imaš polje koje se isto zove (npr i proizvodi i cene imaju polje id). Onda da bi ih razlikovao moraš da naglasiš na koje misliš. To možeš tako što ćeš reći proizvodi.id ili, ako si dao alias p, p.id.
Osim toga, aliasi štede kucanje, a neophodni su kad radiš joinovanje tabele sa samom sobom. Onda apsolutno moraš da daš aliase tabelama da bi se znalo na čija polja misliš. A za tutorial, stvarno ne znam. Probaj da nađeš neku skriptu ili udžbenik iz baza sa nekog fakulteta.
__________________
blog |
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|