Apex oracle有可能在sql查询中使用列值进行交互式报告吗?

qlzsbp2j  于 2023-01-04  发布在  Oracle
关注(0)|答案(1)|浏览(128)

我正在自学使用apex,我想知道是否有可能在交互式报表中使用sql查询来从id = column_1 value 的其他查询中计数?

正如你在图片中看到的。
我的实际查询:
'

select 
    LIB_KSIAZKA.KSIAZKAID as "Id Książki",
    LIB_KSIAZKA.TYTUL as "Tytuł",
    LIB_KSIAZKA.IMIE as "Imię autora",
    LIB_KSIAZKA.NAZWISKO as "Nazwisko autora",
    LIB_KSIAZKA.GATUNEK as "Gatunek",
    LIB_KSIAZKA.OCENA as "Ocena" ,
    (SELECT Count (e.egzemplarzid) 
    from lib_egzemplarz e INNER JOIN lib_ksiazka k ON e.ksiazkaid=k.ksiazkaid
    WHERE e.status='DOSTĘPNA' AND e.ksiazkaid= :P3_ID ) as "Liczba dostępnych egzemplarzy"
 from LIB_KSIAZKA LIB_KSIAZKA;

'正如你所看到的,它应该如何计数到列1的相同id,相同的行值是. in count k.ksiazkaid = 1,2,3,...
我尝试设置column1的特定ID,但不确定如何甚至可能将其放入查询中。

goqiplq2

goqiplq21#

我不确定你期望什么结果,但是--在我看来,你必须去掉子查询中的内部连接,并将它关联到 * 主 * 查询中的一个表。而且,不清楚子查询中的where条件是否应该被移出。
截至表别名:其目的是使查询更容易阅读,使用与表名相同的别名(from LIB_KSIAZKA LIB_KSIAZKA)根本没有帮助。
我的建议是这样的:

select 
    a.ksiazkaid as "id książki",
    a.tytul     as "tytuł",
    a.imie      as "imię autora",
    a.nazwisko  as "nazwisko autora",
    a.gatunek   as "gatunek",
    a.ocena     as "ocena" ,
    --
    (select count (e.egzemplarzid) 
     from lib_egzemplarz e 
     where e.ksiazkaid = a.ksiazkaid  --> correlate subquery to "main" table
       and e.status = 'DOSTĘPNA' 
       and e.ksiazkaid = :P3_ID       --> should that be moved out ...
    ) as "liczba dostępnych egzemplarzy"
 from lib_ksiazka a
 -- where a.ksiazkaid = :P3_ID        --> ... down here?

相关问题