» »

[SQL] - Poizvedba

[SQL] - Poizvedba

tx-z ::

Imam tabelo "ima_material", kjer imam recimo sledeče podatke:
id_postavke 	id_materiala 	kolicina
31 	7 	500
31 	8 	500
31 	11 	666
31 	12 	100
31 	13 	150
31 	14 	2
32 	13 	600
33 	15 	100


Stavek, s katerim želim zvedt v kolkih postavkah je nek material uporabljen: SELECT id_materiala, count(*) as "stevilo" FROM ima_material GROUP BY id_materiala ORDER BY stevilo DESC;

Mi vrne:
id_materiala 	stevilo
13 	2
7 	1
8 	1
11 	1
12 	1
14 	1
15 	1


Poleg tega imam tudi tabelo s samim materialom:
id_materiala 	ime_materiala 	kolicina_materiala
7 	Material1	105008
8 	Material2	9500
9 	Material3	150
10 	Material4	150
11 	Material5	4734
12 	Material6	7700
13 	Material7	2013
14 	Material8	0
15 	Material9	324
16 	Material10	11


Sedaj bi pa rad da mi vrne vse materiale, urejene po tistem "stevilo". Problem je kr v ima_material ni nujno da so vključeni vsi materiali, ki se nahajajo v tabeli "material". Torej stavek SELECT IM.id_materiala, count( * ) AS "stevilo" FROM ima_material IM, material M WHERE M.id_materiala = IM.id_materiala GROUP BY IM.id_materiala ORDER BY stevilo DESC; mi vrne kar želim, ampak bi rad da poleg tistih, kjer tega podatka ni, je pač pri številu 0 in ne da tistga materiala sploh ne izpiše.

Kako bi to lahko združu z enim SQL stavkom?

Hvala za odgovore! ;)
tx-z
  • spremenilo: tx-z ()

MrStein ::

SELECT M.id_materiala, M.ime_materiala, count(IM.id_postavke) as stevilo
    from material M left join ima_material IM on M.id_materiala = IM.id_materiala
    GROUP BY M.id_materiala, M.ime_materiala
    ORDER BY stevilo DESC;
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Zgodovina sprememb…

  • spremenil: MrStein ()

tx-z ::

Točn to! Najlepša ti hvala ;)
tx-z

HDvideo ::

Bom porabu kar to temo in sicer zanima me kako naredim poizvedbo da mi izpiše kateri podatek je največkrat vnešen? npr. 1,2,2,1,3,4,1 (ŽELIM DA BI IZPISALO 1)

HDvideo ::

Zadevo mi je uspelo rešit tako da vseno hvala če je kdo sločajno poskusu rešit.

tx-z ::

Jst vedno, ko najdem rešitev in noben ne odgovori pred mano, postam to rešitev, zato da če bo kdo drug imel podobno težavo da lahko najde rezultat kar tukaj :)
tx-z

Isotropic ::

OP a nisi ti naredu frija? :D
kje bi se sicer dalo naucit osnov sql (najraje na sql server) in nacrtovanja baz, ce nisi s fri? (tist rational designer al kaj je ze, sam da za sql s.)

Zgodovina sprememb…

tx-z ::

SQL takrat ko sm odpru temo vsaj kšne 2 leti nism uporablu in pol rabš neki cajta da nazaj pridš (za kšne ne-čist osnovne stvari) :)

Drgač pa od O'Reilly Media sm do zdej mel vedn dobre izkušnje, tko da kej tazga mogoče: http://shop.oreilly.com/product/9780596... ...Doma si pa postavš kšn WAMP server in boš tm najlažje testiru (predlagam še kšn phpmyadmin). Kar se tiče načrtovanja pa najbolš da kdo drug pove;)
tx-z


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

TSQL rekurzivno

Oddelek: Programiranje
11917 (656) hamez66
»

SQL poizvedba

Oddelek: Programiranje
163281 (2626) awy
»

[Sql] Poizvedba

Oddelek: Programiranje
111829 (1480) ales85
»

Pomoč pri SQL

Oddelek: Programiranje
5928 (730) gokky
»

Malce zahtevnejši SQL stavek včasih narobe SELECT-a

Oddelek: Izdelava spletišč
302152 (1821) Brilko

Več podobnih tem