[ anakin14 @ 22.12.2010. 10:52 ] @
zdravo , nov sam u bazama podataka pa bih molio nekog za pomoc

imam tabelu sa sledecim poljima

datum vreme smena racun konobar sto tip sifra artikla artikal sifra robe repro kolicina cena ukupno opis kategorija


e sad meni treba query po sledecim uslovima

da mi da jednistvene vrednosti sifre artikala ali u koloni KOLICINA i UKUPNO da budu zbirovi

npr ako imam

artikal kolicina ukupno
LAV 0.5 1 100
LAV 0.5 3 300
LAV 0.5 2 200

da mi query da

artikal kolicina ukupno
LAV 0.5 6 600

drugo pitanje - kako opmocu SELECT DISTINCT da izaberem jedinstvene kombinacije prvih 6 kolona recimo, a ove ostale bih da pridruzim tim kombinacijama?

hvala i pozdrav
[ Zoran.Eremija @ 22.12.2010. 11:14 ] @
Za prvo:

SELECT Tabela.Artikal, Sum(Tabela.Kolicina) AS Kolicina, Sum(Tabela.Ukupno) AS Ukupno
FROM Tabela
GROUP BY Tabela.Artikal;

A drugo ne razumeh, jer ne mogu da se vide najbolje iz vaseg opisa druge tabele i veze. Mozda bi lakse bilo da prilozite bazu sa 10-tak rekorda..
[ anakin14 @ 24.12.2010. 17:53 ] @
nije mi jasno oko te DISTINCT komande nista.
provaljujem da ako hocu da koristim DISTINCT da onda koristim za sva polja ne mogu samo za jedno polje.

ovo mi treba:

SELECT rad.konobar, Count(rad.racun) AS kolicina, Sum(rad.ukupno) AS ukupno
FROM rad
GROUP BY rad.konobar;


kako da ovo Count(rad.racun) broji samo jedinstvene racune?

[ Getsbi @ 24.12.2010. 21:57 ] @
Evo ti primer DISTINCT za jedno polje.
Code:
SELECT DISTINCT Rad.Konobar
FROM Rad;

Tu se radi o eliminaciji duplikata po kritičnom polju.
Ako želiš da prikupiš podatke o svim zapisima koji se razlikuju u svim poljima, onda koristi DISTINCTROW. Recimo:
Code:
SELECT DISTINCTROW * FROM rad
ORDER BY Rad.RedniBrojEvidencije


Evo ti primer sa nekim drugim tabelama

[Ovu poruku je menjao Getsbi dana 24.12.2010. u 23:07 GMT+1]
[ anakin14 @ 25.12.2010. 14:56 ] @
Code:
SELECT rad.konobar, Count(DISTINCT rad.racun) AS kolicina, sum(rad.[nabavna cena]) AS nabavka, Sum(rad.ukupno) AS ukupno
FROM rad
WHERE rad.datum="9/26/2009"
GROUP BY rad.konobar;


zasto ovoaj query nece da radi?
[ loto17 @ 25.12.2010. 17:25 ] @
Citat:
anakin14
Code:
SELECT rad.konobar, Count(DISTINCT rad.racun) AS kolicina, sum(rad.[nabavna cena]) AS nabavka, Sum(rad.ukupno) AS ukupno
FROM rad
WHERE rad.datum="9/26/2009"
GROUP BY rad.konobar;


zasto ovoaj query nece da radi?


Mozda ovako hoce:
WHERE rad.datum=#9/26/2009#

[ anakin14 @ 25.12.2010. 17:37 ] @
ne, nesto nije u redu sa count(DISTINCT

tu javlja gresku, kada se ukloni radi bez problema.
[ Getsbi @ 25.12.2010. 17:57 ] @
Ne može tako. Ili napravi ugnježđeni upit ili prvo jedan upit sa DISTINCT (koji je inače kalsifikator), pa onda njega uzmi za izvor podataka u drugom upitu gde koristiš Count().

Ako malo uradiš pretragu ključnom reči Distinct, dobićeš odgovor na temi http://www.elitesecurity.org/t226387-0#1347783
[ anakin14 @ 03.01.2011. 17:34 ] @
imam upit:

Code:
 SELECT roba.[sifra robe], Sum([pozicija nabavke].kolicina) AS nabavka, Sum(rad.repro) AS prodaja, [nabavka]+[prodaja] AS stanje
FROM (roba INNER JOIN [pozicija nabavke] ON roba.[sifra robe]=[pozicija nabavke].[sifra robe]) INNER JOIN rad ON roba.[sifra robe]=rad.[sifra robe]
GROUP BY roba.[sifra robe];


e sad, ukoliko nemam recorde u tabelama rad i pozicija nabavke query mi vraca praznu tabelu.
kako da uradim query da mi tada vraca nule?

sifra robe nabavka prodaja stanje
1 0 0 0
2...

a da pritom izlista sve vrednosti sifra robe iz tabele roba ( ne samo one koje se pojavljuju u tabelama rad i pozicija nabavke)
- inace kada imam samo nabavku a ne prodaju takodje mi vraca praznu tabelu.

kako da resim ovo?
unapred zahvalan!!!
[ anakin14 @ 03.01.2011. 17:38 ] @
imam upit:

Code:
 SELECT roba.[sifra robe], Sum([pozicija nabavke].kolicina) AS nabavka, Sum(rad.repro) AS prodaja, [nabavka]+[prodaja] AS stanje
FROM (roba INNER JOIN [pozicija nabavke] ON roba.[sifra robe]=[pozicija nabavke].[sifra robe]) INNER JOIN rad ON roba.[sifra robe]=rad.[sifra robe]
GROUP BY roba.[sifra robe];


e sad, ukoliko nemam recorde u tabelama rad i pozicija nabavke query mi vraca praznu tabelu.
kako da uradim query da mi tada vraca nule?

sifra robe nabavka prodaja stanje
1 0 0 0
2...

a da pritom izlista sve vrednosti sifra robe iz tabele roba ( ne samo one koje se pojavljuju u tabelama rad i pozicija nabavke)
- inace kada imam samo nabavku a ne prodaju takodje mi vraca praznu tabelu.

kako da resim ovo?
unapred zahvalan!!!
[ SLOJ.1973 @ 03.01.2011. 17:46 ] @
Daj primer,pa ćemo videti.