Ponieważ w user_tables
nazwy tabel pisane są dużymi i małymi literami. Zakładam, że utworzyłeś te tabele za pomocą czegoś takiego jak
create table "Discount" ...
Generalnie oracle zapisuje nazwy tabel pisane dużymi literami, a nazwy tabel bez podwójnych kwot są wyszukiwane dużymi literami. Dlatego Twój
select * from Discount
wyszukuje tabelę o nazwie ZNIŻKA, a nie Zniżka. Musisz wyraźnie powiedzieć Oracle, że chcesz zachować wielkość liter w nazwach tabel. Odbywa się to również w przypadku podwójnych kwot. Więc
select * from "Discount"
powinien działać.