Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

SQL upit

[es] :: Baze podataka :: SQL upit

[ Pregleda: 5944 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

range
Beograd

Član broj: 1006
Poruke: 248
*.beograd-2.tehnicom.net



+1 Profil

icon SQL upit15.08.2002. u 20:12 - pre 263 meseci
Evo ovako: treba mi jedan upit koji svi koji su pravili bazu za finansijsko znaju, a ja eto glupan uopste ne mogu da vidim kako ga napisati.
Elem, imam konta sa 11 cifara i ono sto hocu da uradim je saldiranje pocetnog stanja i promena u toku godine tih konta na 1, 3 i 5 cifara. Npr. ako imamo sledeca konta:

11111000000, 11111000000, 11133000000, 12200000000

sa stanjima(neka sva budu dugovna) 100, 200, 300, 400
E sad hocu sledece:
saldo svih konta koja pocinju na 1 = 1000
saldo svih konta koja pocinju sa 111 = 600
saldo svih konta koja pocinju sa 11111 = 300

Po meni bilo kakav select je nemoguc. Jedino cega sam se dosetio je da iz programa prosledjujem koja te cifre po kojima cu da saldiram, ali to znaci da treba da u bazu stavim jos tri kolone sto mi se nikako ne svidja. Jel zna neko kako baza da mi odradi tu racunicu
Hvala!

 
Odgovor na temu

ljuban
Ljubisa Punosevac
trenutno Nis

Član broj: 1755
Poruke: 131
*.bankerinter.net



Profil

icon Re: SQL upit16.08.2002. u 01:03 - pre 263 meseci
Prijatelju kao sto ti ne znas da napises taj upit ja ne znam knjigovodstvo. Ono sto sam shvatio (mada je malo verovatno da ti to treba) je sledece da hoces da saberes stanja koja se nalaze na raznim kontimai to hoces da saberes ona koja pocinju sa 1 posebno a posebno ona koja pocinju sa 111 i sa 11111.
Ako sva konta koja pocinju sa 1 imaju saldo 1000 onda bi neki upit trebao da izgleda ovako

select count(*)*1000
from
konta
where
broj_konta like '1%' and
broj_konta not like '111%' and
broj_konta not like '11111%';

ovaj upit samo prakticno pregleda tabelu koliko ima konda koja pocinju sa 1 i to mnozi sa 1000. Ne znam bas tacno sta hoces da uradis i ne znam sa kojom bazom radis objasni malo blize pa da ti kazem...
 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
62.162.102.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: SQL upit16.08.2002. u 11:05 - pre 263 meseci
SELECT sum(konta.dug) FROM konta WHERE konta.broj_konta like "1%"
ili
SELECT sum(konta.dug) FROM konta WHERE konta.broj_konta like "111%"
itd. ....

People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

ljuban
Ljubisa Punosevac
trenutno Nis

Član broj: 1755
Poruke: 131
*.bankerinter.net



Profil

icon Re: SQL upit16.08.2002. u 11:16 - pre 263 meseci
Citat:
Riste Pejov:
SELECT sum(konta.dug) FROM konta WHERE konta.broj_konta like "1%"


Ovaj upit je dobar samo sto ce kada se izvrsi da sumira i konta koja pocinju sa 111 i sa 11111 treba u kompletu da izgleda, ako hoces da sabiras ona konta koja pocinju sa 1, ovako:

SELECT sum(konta.dug)
FROM
konta
WHERE
konta.broj_konta like '1%'
AND
konta.broj_konta not like '111%'
AND
konta.broj_konta not like '11111%';

sabiranje za konta koja pocinju sa 111 je:

SELECT sum(konta.dug)
FROM
konta
WHERE
konta.broj_konta like '111%'
AND
konta.broj_konta not like '11111%';

itd...
 
Odgovor na temu

range
Beograd

Član broj: 1006
Poruke: 248
*.tehnicom.net



+1 Profil

icon Re: SQL upit16.08.2002. u 14:48 - pre 263 meseci
Da, da ovo znam da napisem. Ali problem je u tome sto to treba da uradim ne samo za konta koja pocinju sa 1 vec za sva konta od 0 do 9. OK, to je 10 select izraza, ali na tri cifre to su sva konta koja pocinju od 000 do 999, a na 5 od 00000 do 99999, sto mozete da vidite koliko je to upita. Ajd sad!
 
Odgovor na temu

ljuban
Ljubisa Punosevac
trenutno Nis

Član broj: 1755
Poruke: 131
*.bankerinter.net



Profil

icon Re: SQL upit16.08.2002. u 17:25 - pre 263 meseci
Kazi mi o kojoj se bazi radi da bih mogao da ti napisem to?
 
Odgovor na temu

tOwk
Danilo Šegan
Zemun/Beograd

Član broj: 94
Poruke: 2743
*.bitsyu.net

ICQ: 9344053
Sajt: alas.matf.bg.ac.yu/~mm011..


+2 Profil

icon Re: SQL upit16.08.2002. u 22:13 - pre 263 meseci
Ovakva sintaksa (poređenje ,,brojevnih'' polja sa tekstom) je dodatak MySQL-a, i ne verujem da se nalazi u SQL standardu.

Inače, ispitaj i mogućnosti GROUP BY.

Zar
Code:
 
  SELECT SUBSTRING(ID_konta,1,3) as test, SUM(konto) GROUP BY test;

ne radi posao? Ovo je naravno za dužinu 3, za 1 bi smo imali 1,1), a za 5 1,5). I sve ovo u MySQL-u. Prema tome, za svaku dužinu po jedan upit, nadam se da je to dovoljno sažeto.

Ovo nisam probao, i nisam suviše dobar poznavalac SQL-a (i dugo nisam koristio ništa teže od SELECT * FROM tabela; :) pa je lako moguće da lupetam.

Toliko.
Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.
 
Odgovor na temu

range
Beograd

Član broj: 1006
Poruke: 248
*.beograd-2.tehnicom.net



+1 Profil

icon Re: SQL upit17.08.2002. u 15:23 - pre 263 meseci
To mi deluje kao stvar koja mi treba! E samo kako bi to uradio Postgre(u toj bazi radim) i da li bi on to mogao da uradi? U svakom slucaju puno hvala! Sada cu da uzmem i d vidim sta moze da se uradi i sa GROUP BY.
 
Odgovor na temu

tOwk
Danilo Šegan
Zemun/Beograd

Član broj: 94
Poruke: 2743
*.bitsyu.net

ICQ: 9344053
Sajt: alas.matf.bg.ac.yu/~mm011..


+2 Profil

icon Re: SQL upit18.08.2002. u 13:09 - pre 263 meseci
Pretpostavljam da može, ali ćeš koristiti funkcije kao što su to_char (ako su ti brojevi konta brojnog tipa) i substr umesto substring.

Takođe, možeš izbeći i pretvaranja brojeva u string ako tačno znaš dužinu konta (pomenu 11?), i zatim samo podeliš sa odgovarajućim 10^(11-n), gde je n=1,3,5. Međutim, ne zaboravi da pri ispisu dobijeni broj dopuniš sleva nulama do n-o cifrenog broja.

Ostalo (pretpostavljam da) je isto.

Naravno, ne zaboravi ,,FROM ime_tabele'' kao što sam ja to gore uradio :)

Pozdrav
Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.
 
Odgovor na temu

range
Beograd

Član broj: 1006
Poruke: 248
*.beograd-2.tehnicom.net



+1 Profil

icon Re: SQL upit18.08.2002. u 17:22 - pre 263 meseci
Radi! Hvala majstor tOwk-u na pomoci!
ps. citanje dokumentacije ume da pomogne
 
Odgovor na temu

[es] :: Baze podataka :: SQL upit

[ Pregleda: 5944 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.