Novo

Forum kao aplikacija na telefonu

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

  • 8 odgovora
  • 4.978 pregleda

Najnovija ↓

jednostavan sql upit u MySQL-u 18.08.2003. u 17:39 · pre 282 meseca #1
Pozdrav

Imam tabelu koja prikazuje promene nekog artikla:
id INT AUTOINCREMENT
opis CHAR(16)
ulaz DOUBLE
izlaz DOUBLE

Zanima me kako da dobijem sledeci rezultat pomocu jednog upita (sa ili bez podupita):
-------------------------------------------------------
opis..................ulaz.......................izlaz..................saldo
-------------------------------------------------------
doc 1.................12.......................0........................12
doc 2.................0.........................3........................9
doc 3.................5.........................0.......................14
doc 4..................0.........................8.......................6
doc 5..................1.........................0.......................7

Dakle potreban mi klasican prikaz promena nekog artikla (tzv. kartice)
Bez problema prikazem prve 3 kolone, ali ne znam kako da prikazem saldo kolonu.
Kolona saldo se racuna(ako neko nezna): saldo iz prethodnog reda + (ulaz - izlaz)

Napomena:

Pozdrav i hvala
Bojan
Re: jednostavan sql upit u MySQL-u 18.08.2003. u 18:08 · pre 282 meseca #2
Probaj da ti ta cetvrta kolona bude nesto nalik na:

Code:

SELECT id, opis, ulaz, izlaz, (<sad nekako saberes i konvertujes u integer ili currency - mislim da je sintaksa slicna kao VB CCur(ulaz)+CCur(izlaz) as Saldo)> FROM Tabela1 
WHERE ....
Re: jednostavan sql upit u MySQL-u 18.08.2003. u 18:09 · pre 282 meseca #3
Koristi CROSS JOIN:
Code:

select
    a.id,
    a.opis,
    a.ulaz,
    a.izlaz,
    sum(b.ulaz-b.izlaz) as saldo
from
    saldo a cross join saldo b
where
    (b.id <= a.id)
group by a.id, a.ulaz


Izlaz izgleda otprilike ovako:
Code:

+------+------+------+-------+-------+
| id   | opis | ulaz | izlaz | saldo |
+------+------+------+-------+-------+
|    1 | bla  |   20 |     0 |    20 |
|    2 | bla  |    0 |    10 |    10 |
|    3 | bla  |  254 |     0 |   264 |
|    4 | bla  |   12 |     0 |   276 |
|    5 | bla  |    0 |   198 |    78 |
|    6 | bla  |   24 |     0 |   102 |
+------+------+------+-------+-------+


Poz,
alex.
Potpis
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
Re: jednostavan sql upit u MySQL-u 18.08.2003. u 22:14 · pre 282 meseca #4
Zdravo Alex

Hvala na odgovoru, ali nazalost MySQL mi javlja da tabela saldo ne postoji.

Da li je potrebno jos nesto pre tvog koda da uradim. U ovom trenutku imam samo jednu tabelu (id, opis, ulaz, izlaz).

Uneo sam podatke u tabelu i poktrenuo upit, ali ne radi :(

Da li je ovo kod za MySQl? Ja se malo slabije razumem u egzoticnije join-e :(

Hvala.
Bojan
Re: jednostavan sql upit u MySQL-u 18.08.2003. u 23:42 · pre 282 meseca #5
Ako nepostoji kao query onda probaj da dodas

SELECT....
INTO Tabela1
FROM itd...

A cross JOin nisam koristio. Kakva je to veza, ALex?
Re: jednostavan sql upit u MySQL-u 19.08.2003. u 00:32 · pre 282 meseca #6
Citat:
bokini:
Hvala na odgovoru, ali nazalost MySQL mi javlja da tabela saldo ne postoji.


Hehe, pa naravno da ti javlja da ne postoji jer je to ime tabele koju sam ja koristio u testu. Zameni ime tabele saldo sa imenom tvoje tabele i radice. :)
Potpis
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
Re: jednostavan sql upit u MySQL-u 19.08.2003. u 00:36 · pre 282 meseca #7
Citat:
byTer:
A cross JOin nisam koristio. Kakva je to veza, ALex?


CROSS JOIN je najjednostavnija vrsta JOIN komande koja povezuje svaki red u prvoj tabeli sa svim redovima u drugoj tabeli.
Potpis
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
Re: jednostavan sql upit u MySQL-u 19.08.2003. u 00:38 · pre 282 meseca #8
Zdravo Alex,

Sada radi, hvala najlepse.

Nisam uopste razumeo deo pored FROM :)

Moracu malo da se pozabavim tim cross joinom

Hvala opet

Bojan
Re: jednostavan sql upit u MySQL-u 26.08.2003. u 12:46 · pre 282 meseca #9
Jel mogu da se nadovezem samo na temu JOIN... Jel moguce nekako da se na mysql query JOINuje samo jedna kolona iz druge tabele, a ne sve?
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme