Van egy egyszerű kérdésem. Egy számlát szeretnék lekérdezni egy tömbből. aminek kellene az összege is. külön külön meg tudom csinálni (OO-base-ban)
A lekérdezés darabonként:
SELECT "Code" AS "Termékkód", "quantity" AS "Egység", "EUR" AS "Ár(Euró)" FROM "Full" WHERE ( "Code" = 'I2' OR "Code" = 'I4' OR "Code" = 'I5' OR "Code" = 'I6' OR "Code" = 'I6/2' OR "Code" = 'I7' OR "Code" = 'I9' OR "Code" = 'I11' OR "Code" = 'C1' OR "Code" = 'C2' OR "Code" = 'C3' OR "Code" = 'I10' OR "Code" = 'I12/1' OR "Code" = 'I12/2' OR "Code" = 'I12/3' OR "Code" = 'I12/4' OR "Code" = 'I14/1' OR "Code" = 'I14/2' OR "Code" = 'T1' OR "Code" = 'I8' OR "Code" = 'I3' ) ORDER BY "Ár(Euró)" DESC
Majd a summa:
SELECT sum(EUR) FROM "Full" WHERE ( "Code" = 'I2' OR "Code" = 'I4' OR "Code" = 'I5' OR "Code" = 'I6' OR "Code" = 'I6/2' OR "Code" = 'I7' OR "Code" = 'I9' OR "Code" = 'I11' OR "Code" = 'C1' OR "Code" = 'C2' OR "Code" = 'C3' OR "Code" = 'I10' OR "Code" = 'I12/1' OR "Code" = 'I12/2' OR "Code" = 'I12/3' OR "Code" = 'I12/4' OR "Code" = 'I14/1' OR "Code" = 'I14/2' OR "Code" = 'T1' OR "Code" = 'I8' OR "Code" = 'I3' )
Na ezt hogy tudom úgy össefűzni, hogy a fent lekérdezett lista végén legyen egy ilyen sor, hogy:
ossesen xyz Euro.
UI:
Bocsi hogy ilyen primitív dolgot kérdezek, de kb 4-napja használok adatbázis kezelőt (Az is openoffice, de szerintem egész korrekt)
- 2194 megtekintés
Hozzászólások
Semmi ötlet?
- A hozzászóláshoz be kell jelentkezni
union
csak ugyanolyan mezők legyenek
- A hozzászóláshoz be kell jelentkezni
Köszi.
Csak az gáz hogy nem ugyanolyanok a mezők. Amint látod a fenti példánál. Vagy én nem értm :) .
- A hozzászóláshoz be kell jelentkezni
Az első esetben a select-ed végigfut az adatbázison, majd ha talál egy rekordot, akkor kiírja a keresett értékeket. Tehát több mint egy sort fog visszaadni (ha több van). A másik egyetlen egy értéket ad vissza.
Hogy szeretnéd ezt összefűzni? Ezt nem lehet összefűzni egyetlen lekérdezésbe. Ez két külön művelet.
Tudsz olyat csinálni, hogy code-onként summázod az EUR-t, akkor kell egy group by Code a végére, meg egy sum(eur) a keresésbe.
De ez sem az amit te kértél.
Te két különböző műveletet akarsz egybegyúrni amit nem lehet.
update: ha csak az előttem szólónak nincs igaza :)
- A hozzászóláshoz be kell jelentkezni
Esetleg valahogy így? Az IN-be nem írtam bele mindegyik kódot, azt még pótolnod kellene.
SELECT "Code" AS "Termékkód",
"quantity" AS "Egység",
"EUR" AS "Ár(Euró)"
FROM "Full" WHERE "code" in ( 'I2', 'I4', 'I5', 'I6' )
order by "EUR" desc
union
SELECT null AS "Termékkód",
null AS "Egység",
sum(EUR)
FROM "Full" WHERE "code" in ( 'I2', 'I4', 'I5', 'I6' )
Persze ez még nem biztosítja, hogy az összegző sor az utolsó legyen.
- A hozzászóláshoz be kell jelentkezni
Hm érdekes. Azt írja hogy ez a parancs nem egy select parancs csak lekérdezések engedélyezettek.
- A hozzászóláshoz be kell jelentkezni
Az OO-base lelkivilágát sajna nem ismerem, ez egy próba-szerencse SELECT volt.
- A hozzászóláshoz be kell jelentkezni
Köszönöm azért :) Most azt olvasom, hogy elvileg az openoffice lekezel a mysql-t is szóval hátha :)
- A hozzászóláshoz be kell jelentkezni
hmm
az eslő select és a második select kitétele ugyanaz.
Szal nemértem minek az elsö?
Elsőnél kapsz egy táblát
termékkod, egység, ár(euro)
val a full táblábol ha a where feltétel teljesül
a második lekérdezésbe ugyancsak a full táblábol ugyanazzal a where feltétellel összeadod a ár(euro)-t.
szal nemértem pontosan mit szeretnél.
ha csak a sum(eur) kell akkor csak a 2. lekérdezés kell.
pch
- A hozzászóláshoz be kell jelentkezni
Mind a 2 kell, mert ez egy részletes számla lesz.
Tételesen felsorolva az első alapján majd a végén egy végösszeg.
- A hozzászóláshoz be kell jelentkezni