2017-07-18 94 views
0

例如,我有5列的表,其中2列不包含值。我想在我的Apex報告中只顯示具有值的列,並隱藏報告中提到的2列。如何實現它?它只能用於sql查詢嗎?或者我需要使用pl/sql動態內容?只選擇包含值的列(Oracle - apex)

+0

「其中<你的列名>不爲空」 – OldProgrammer

+0

它不起作用。我的表格包含5列,我需要隱藏2列沒有值 – john179

+0

@OldProgrammer - 這將無法正常工作,OP想要隱藏列,而不是行 –

回答

1

您需要查看報告結果中的每一行以瞭解是否顯示該列 - 這可能表現不佳,但可以完成。在每一列,你需要創建類型的服務器端狀態「沒有行返回」用SQL查詢,如:

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

注意this_column需要在列的名字,你是在把條件,而(report where clause)與報告本身的where子句相同。

+0

我已經用emp表試過了,但是出現錯誤:ORA-06550:第4行第2列:ORA-00936:缺少表達式。 'select 1 from emp where(select ename,job,mgr from emp) AND ename IS NOT NULL;' – john179

+0

是的,您的SQL報價無效!我的意思是「where」子句,而不是整個查詢。看起來你沒有'where'子句,所以只需要'從en where IS NOT NULL'選擇1 –

0

嘗試

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

如果列是不同的類型,你可能需要例如扮演他們的一些TO_CHAR(col1)而不是col1