只选择包含值的列(Oracle - apex)
例如,我有5列的表,其中2列不包含值。我想在我的Apex报告中只显示具有值的列,并隐藏报告中提到的2列。如何实现它?它只能用于sql查询吗?或者我需要使用pl/sql动态内容?只选择包含值的列(Oracle - apex)
您需要查看报告结果中的每一行以了解是否显示该列 - 这可能表现不佳,但可以完成。在每一列,你需要创建类型的服务器端状态“没有行返回”用SQL查询,如:
select 1
from my_table
where (report where clause)
and this_column is not null
注意this_column
需要在列的名字,你是在把条件,而(report where clause)
与报告本身的where子句相同。
我已经用emp表试过了,但是出现错误:ORA-06550:第4行第2列:ORA-00936:缺少表达式。 'select 1 from emp where(select ename,job,mgr from emp) AND ename IS NOT NULL;' – john179
是的,您的SQL报价无效!我的意思是“where”子句,而不是整个查询。看起来你没有'where'子句,所以只需要'从en where IS NOT NULL'选择1 –
尝试
SELECT
COALESCE(col1, col2, col3) colA,
COALESCE(col2, col3, col4) colB,
COALESCE(col3, col4, col5) colC
FROM myTable
如果列是不同的类型,你可能需要例如扮演他们的一些TO_CHAR(col1)
而不是col1
。
“其中不为空” – OldProgrammer
它不起作用。我的表格包含5列,我需要隐藏2列没有值 – john179
@OldProgrammer - 这将无法正常工作,OP想要隐藏列,而不是行 –