Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 5.135 pregleda

Najnovija ↓

Dva Query-a u jednom???? 18.10.2005. u 19:02 · pre 256 meseci #1
Imam dva pitanja .
1.Kako da napravim ,u kodu, query koji bi da koristim za dole navedeno, izvršim SQL , štampam rezultate i nakon ispisa da 'ubijem'. Kako da napravim i report za taj query (Da li da napravim identičan query, podesim Quickeport a potom obrišem taj query ili...)?
2. Trebam pomoć i oko SQL String-a za jedan Query. Evo šta bi taj trebao query da uradi. NPR:
Imam dve tabele sa kolicinama jednog artikla, Tabla1Kolicina i Tabla2Kolicina. Taj query treba da Grupira Kolicine iz obe tabele po svim artiklima i da mi da izračuna razliku izmedju suma tih kolicina .
SQL sam uradio činimi se ovako:
Select Naziv T1,SUM( T1.Kolicina),SUM(T2.Kolicina)
from Tabela1 as T1, Tabela2 T2
where T1.Naziv=T2.Naziv
GROUP by Naziv

Kako bih uvidjeo greške napravio sam nekoliko unosa. Cifre koje dobijem se niti jednom poznatom matematičkom funkcijom nemogu dobiti, nisu čak ni približne.
Znači negdje grešim, pomozite...
UNAPRED HVALA
Re: Dva Query-a u jednom???? 19.10.2005. u 21:28 · pre 256 meseci #2
1.

var q : TQuery;
begin
q := TQuery.Create (self);
q.sql.add ('select abc from def where ghi...');
q.database := somedatabase;
q.open;

reportdatasource.dataset := q;
report.show;

q.free;
end

naravno nesto je pseudo kod a sve iz glave pa verovatno ima gresaka.

2.

tvoj SQL ce spojiti svaki record iz T1 sa svakim iz T2 kada su nazivi proizvoda isti. Znaci ako se isti proizvod pojavljuje 5 puta u T1 i 5 puta u T2 dobices 25 spojenih pojavljivanja i svaka kolicina ce se ponoviti po 5 puta pa ces dobiti 5 puta veci rezultat nego sto si verovatno hteo. Sad mi ne pada na pamet kako da formulises sql, osim pomocu stored procedure.
Re: Dva Query-a u jednom???? 20.10.2005. u 08:16 · pre 256 meseci #3
Verovatno ti nedostaje jos jedno polje u povezivanju ove 2 tabele pa ti zato neke slogove duplira.
Potpis
vuka
Re: Dva Query-a u jednom???? 20.10.2005. u 09:16 · pre 256 meseci
izmenjeno 1 put, poslednji put codeb.s 20.10.2005. u 09:22
  1. codeb.s20.10.2005. u 09:22zapis iz teksta poruke
#4
Ok hvala , bio bih ti zahvalan ako bi mi pomogao oko ovog.
Još jednom unpared hvala!
Nismin da te nisam skontao što se tiče povezivanja polja. Da li su potrebna neka indexirana polja ili samo uslov. U svoj SQL-u sam postavio uslov za Nazive tj.
where T1.Naziv=T2.Naziv , alki si u pravu što se tiče onog dupliranja, mada nisam uspio uhvatiti nikakvu zakonitost u dupliranju (da li je to broj artikala ili broj ponavljanja artikala ili ...)
Re: Dva Query-a u jednom???? 20.10.2005. u 15:19 · pre 256 meseci #5
t1
sifra kolicina
100 10
101 10
102 10
101 1

t2
100 5
101 5
102 5
102 2
101 2

upit:

select sifra,sum(kolicina) as kolt1,(select sum(kolicina) from t2 where sifra=t1.sifra) as kolt2,razlika=(sum(kolicina)-(select sum(kolicina) from t2 where sifra=t1.sifra)) from t1 group by sifra


rezultat:

sifra kolt1 kolt2 razlika
100 10 5 5
101 11 7 4
102 10 7 3


Ako sam dobro shvatio to bi bilo to

(malo poradi na slučajevima kada pojedine šifre imaš samo u jednoj od tabela)

pozdrav
Re: Dva Query-a u jednom???? 20.10.2005. u 16:35 · pre 256 meseci
izmenjeno 1 put, poslednji put codeb.s 20.10.2005. u 16:38
  1. codeb.s20.10.2005. u 16:38zapis iz teksta poruke
#6
Hvala!
Pokušati ću sa predloženim...
Re: Dva Query-a u jednom???? 04.11.2005. u 09:38 · pre 255 meseci #7
Nije uspjelo.
Prilikom aktivacije Query-a prikazuje grešku u SQL-u, kao da nemože skontati ovaj drugi dio koji se nalazi u zagradi ( 'ubačeni' sql koji daje kolt2, problem javlja za sum komandu , mjenjao sam dodavajući sifru ali nista jednostavno nekonta taj dio) :
(select sum(kolicina) from t2 where sifra=t1.sifra) as kolt2
kada se taj dio eliminiše izbaci glupost o kojoj sam i pisao.
Probao sam i u slučaju kad postoje artikli u obe tabele i kad postoje artikli u samo jednoj tabeli.
Pomozite....
Re: Dva Query-a u jednom???? 05.11.2005. u 11:55 · pre 255 meseci #8
U MS SQL mora da radi jer sam probao i onda copy paste.

Koju bazu koristiš?
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme