1. Problém
Mám stĺpec v tabuľke SPECIFIKACIA_TYPU CHAR(15) a z tohto stĺpca mám vypísať tie riadky kde má táto špecifikácia typu 3 až 5 písmen a začína na číslo. Zaujíma ma práve riešenie tej podmienky s písmenami. S tým číslom som to nejak vyriešil ale neviem či je to košer.
Kód: Vybrať všetko
...WHERE SUBSTR(SPECIFIKACIA_TYPU,1,1) IN ('0','1','2','3','4','5','6','7','8','9') AND ...?...;Mám 2 totožné tabuľky: AUTA a AUTA_ZALOHA
V tabuľke AUTA_ZALOHA som v niektorých riadkoch stĺpca POPLATOK_KM zmenil hodnoty na sumu 50.
A následne potrebujem spraviť výpis tabuľky AUTA_ZALOHA aj spolu s komentárom pri každom riadku, či táto hodnota POPLATOK_KM bola alebo nebola zmenená. Mám to riešiť príkazom DECODE.
Čiže chcel by som v tomto príkaze porovnať hodnotu z tabuľky AUTA_ZALOHA s hodnotou v tabuľke AUTA a pri zhode vygenerovať výsledok 'NEZMENENY' v inom prípade 'ZMENENY'.
Moje riešenie:
Kód: Vybrať všetko
SELECT TYP, SPECIFIKACIA_TYPU, POPLATOK_DENNY, POPLATOK_KM, DECODE(AUTA_ZALOHA.POPLATOK_KM, AUTA.POPLATOK_KM, 'NEZMENENY', 'ZMENENY') AS "STAV" FROM AUTA_ZALOHA ORDER BY POPLATOK_KM DESC;nezbehne a hlási AUTA.POPLATOK_KM invalid identifier
3. Problém
Mám stĺpec POPLATOK_DENNY NUMBER(4) a potrebujem v každom riadku pripočítať 20% čo som urobil príkazom POPLATOK_DENNY=1.2*POPLATOK_DENNY
no problém je že pri opätovnom výpise tabuľky mi to síce pripočíta 20 % ale zaokrúhľuje mi to na celé čísla aj keď v niektorých prípadov by mali byť aj hodnoty s jedným desatinným miestom.