select 只有包含值的列(Oracle - 顶点)
select only columns containing values (Oracle - apex)
例如,我有 table 5 列,其中 2 列不包含值。我只想在我的 Apex 报告中显示具有值的列,并从报告中隐藏提到的 2 列。如何实现?是否只能使用 sql 查询?或者我需要使用 pl/sql 动态内容?
您需要查看报告结果中的每一行才能知道是否显示该列 - 这可能效果不佳,但可以做到。在每一列上,您需要使用 SQL 查询创建类型为 "no rows returned" 的服务器端条件,例如:
select 1
from my_table
where (report where clause)
and this_column is not null
请注意,this_column
需要是您设置条件的列的名称,(report where clause)
与报表本身具有的 where 子句相同。
尝试
SELECT
COALESCE(col1, col2, col3) colA,
COALESCE(col2, col3, col4) colB,
COALESCE(col3, col4, col5) colC
FROM myTable
如果列的类型不同,您可能需要对其中一些列进行 CAST,例如TO_CHAR(col1)
而不是 col1
.
例如,我有 table 5 列,其中 2 列不包含值。我只想在我的 Apex 报告中显示具有值的列,并从报告中隐藏提到的 2 列。如何实现?是否只能使用 sql 查询?或者我需要使用 pl/sql 动态内容?
您需要查看报告结果中的每一行才能知道是否显示该列 - 这可能效果不佳,但可以做到。在每一列上,您需要使用 SQL 查询创建类型为 "no rows returned" 的服务器端条件,例如:
select 1
from my_table
where (report where clause)
and this_column is not null
请注意,this_column
需要是您设置条件的列的名称,(report where clause)
与报表本身具有的 where 子句相同。
尝试
SELECT
COALESCE(col1, col2, col3) colA,
COALESCE(col2, col3, col4) colB,
COALESCE(col3, col4, col5) colC
FROM myTable
如果列的类型不同,您可能需要对其中一些列进行 CAST,例如TO_CHAR(col1)
而不是 col1
.