[ chiro @ 25.01.2006. 23:51 ] @
| Pozdrav!
Radim sa firebird bazom ali mislim da to nije bas bitno. Moze mi pomoci rijesenje u bilo kojoj sintaksi.
Problem je sledeci:
U prvoj tabeli se nalaze kodovi:
Kodovi
- kod
U drugoj tabeli se nalaze magacini koji sadrze sledeca polja:
Magacini
- broj_magacina
- kod
- kolicina
Treba mi upit koji bi mi izbacio sledece:
Kod Magacin1_kolicina Magacin2_kolicina ...
Probavao sam sa nesto kao:
SELECT A.kod, B.kolicina FROM kodovi A LEFT JOIN (A.kod = B.kod) ON magacini B WHERE broj_magacina = 1;
To radi, ali tako mogu dobiti samo jednu kolumnu koja ce prokazivati kolicinu za magacin broj 1. Kako da dodam jos nekoliko magacina? Ne bih zelio ucitavati jedan po jedan i tako ih proslijediti programu.
Unaprijed hvala! |
[ goranvuc @ 26.01.2006. 06:55 ] @
Baza je u ovom slucaju bitna stvar jer tebi treba pivotiranje, a ne znam da li firebird podrzava nesto kao "PIVOT TABLE". Ako ne podrzava mozes preko Stored Procedure koja bi ti slozila SQL koji treba da se izvrsi. Ukratko, to je moje misljenje, sigurno ce ti se javiti i ostali.
[ chiro @ 26.01.2006. 11:57 ] @
Mislim da sam nasao rjesenje. Nadam se i da izbacuje tacne podatke.
select kod sum(case when broj_magacina = 1 then kolicina end) B1, sum(case when broj_magacina = 2 then kolicina end) B2, sum(case when broj_magacina = 3 then kolicina end) B3 from magacini group by kod;
Puno hvala na pomoci!
[ goranvuc @ 26.01.2006. 17:01 ] @
OK, to ti je resenje za ta tri magacina, na to sam i mislio kada sam ti predlozio Stored Proceduru kao opstije resenje, jer ona moze to da ti odradi za proizvoljan broj magacina.
[ mikia @ 11.06.2006. 21:24 ] @
Zasto u klijentu dinamicki ne kreiras upit i rezultat prikazes u nekom gridu gde ces takodje da dinamicki kreiras kolone za svaki magacin?
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.