Autor | Zpráva | ||
---|---|---|---|
Sxmanek Profil |
Zdravím, narazil jsem na menší problém.
Zkouším si vypsat všechny auta jejichž cena je menší než průměrná cena všech aut. SELECT znacka FROM auta WHERE cena<AVG(cena); ORA-00934: skupinová funkce zde není dovolena Jde nějak udělat abych místo 1-9 01,02,03....09 a pak už jen 10,12,13...hledal, ale nic co by fungovalo jsem nenašel. |
||
Kajman Profil |
#2 · Zasláno: 6. 5. 2014, 19:27:31
hledejte lpad či to_char
|
||
Zechy Profil |
Pokud to chceš rovnou v dotazu, jde to přes CASE podmínit, jestli vrácený řádek obsahuje číslo menší 10, v případě, že ano, doplníš přes LPAD() nulu, pokud ne, necháš to být. A zřejmě to před LPAD() budeš muset ještě převést do charu, jak psal Kajman. Tudíž pak bys měl něco na styl:
LPAD('0', to_char(cislo)) |
||
Kajman Profil |
#4 · Zasláno: 6. 5. 2014, 20:19:24
Zechy:
Parametry funkce lpad máte špatně. |
||
Zechy Profil |
Kajman:
No, v Oraclu jsem už dlouho nepsal :), ale mám dojem, že jsem vždycky dával co má udělat/vložit a pak řetězec... EDIT: Ono se to dokonce v oraclu píše ještě složitěji. První parametr je řetězec, druhý je délka stringu a poslední je teprve znak/řětězec, který chceme přidat. Což by v tomto případě byl LPAD asi takhle: LPAD(to_char(cislo), 2, "0") |
||
Sxmanek Profil |
#6 · Zasláno: 7. 5. 2014, 09:07:07
jj, tak jako dělá to co chci, ale i to co nechci, když mám třeba číslo 35%, tak mi to udělá 00035%. Takže to zkouším přes case nějak podmínit, ale nechce mi to vzít operátor < v case.
|
||
Zechy Profil |
#7 · Zasláno: 7. 5. 2014, 09:14:20
Podivej se jak se pisi podminky v oracle databazich, hledej case a decode.
|
||
Sxmanek Profil |
#8 · Zasláno: 7. 5. 2014, 09:22:46
jo dobrý, zapomněl jsem tam psát END
|
||
juriad Profil |
#9 · Zasláno: 7. 5. 2014, 09:50:18
Otázkou je, zda vůbec chtít po databázi, aby prováděla nějaké formátování. Databáze by měla být skladištěm dat a neměla by v ní být žádná aplikační ani prezentační logika.
|
||
Zechy Profil |
#10 · Zasláno: 7. 5. 2014, 20:06:37
juriad:
Oracle a jeho PL/SQL ovsem toto z databaze delaji, v jejich Applicatin Expresu se da v PLku naprogramovat cela webova aplikace |
||
juriad Profil |
#11 · Zasláno: 7. 5. 2014, 20:12:27
Zechy:
To ano, proto to formuluji takto mírně; obecně platí, že formátování se má provádět co nejpozději. Je však také možné, že Sxmanek prostě zvolil špatnou vrstvu pro řešení formátování. Dokud se sám nevyjádří, nebudeme vědět. |
||
Zechy Profil |
#12 · Zasláno: 7. 5. 2014, 20:16:00
juriad:
Je možné, že to má v rámci Oracle academy. Tam jinou možnost, než že to formátovat v dotazu člověk nemá. |
||
Časová prodleva: 11 let
|
0