仅选择包含值的列(Oracle - apex)

时间:2017-07-18 15:19:23

标签: sql oracle oracle11g oracle-apex

例如,我有5列的表,其中2列不包含值。我想在我的Apex报告中仅显示有价值的列,并隐藏报告中提到的2列。怎么实现呢?是否只能用sql查询?或者我需要使用pl / sql动态内容?

2 个答案:

答案 0 :(得分:1)

您需要查看报告结果中的每一行,以了解是否显示列 - 这可能效果不佳,但可以完成。在每个列上,您需要使用SQL查询创建“没有返回行”类型的服务器端条件,如:

select 1
  from my_table
 where (report where clause)
   and this_column is not null

请注意,this_column必须是您放置条件的列的名称,(report where clause)与报表本身具有的where子句相同。

答案 1 :(得分:0)

尝试

SELECT
  COALESCE(col1, col2, col3) colA,
  COALESCE(col2, col3, col4) colB,
  COALESCE(col3, col4, col5) colC
FROM myTable

如果列是不同的类型,您可能需要对其中一些列进行CAST,例如TO_CHAR(col1)而不是col1