簡體   English   中英

將所有空列(具有零非空值的列)移動到表的最右邊

[英]Move All null columns (Columns with zero non-null values) to the extreme right of the table

我有一個帶有100列的表格。 對於少數列,該值始終為null。 我想將所有這樣的列(具有零非空值的列)移到最右邊,以便當我的用戶看到該表時,他們將首先看到可用信息。

例如:test_table

**column1 | column2 | column3 | column4**
   a      | null    | null    |     1  
   b      | null    | null    |     2  
   c      | null    | null    |     3  

插入后,我要使test_table如下表所示

**column1 | column4 | column2 | column3**
   a      |     1   | null    | null
   b      |     2   | null    | null
   c      |     3   | null    | null

查詢表時,將定義列顯示的順序。 如果希望這些列顯示在結果集的右端,則需要在查詢的SELECT部分​​中對它們進行重新排序。

因此,請堅持您的示例,而不是:

Select column1, column2, column3, column4 FROM test_table

你將會擁有:

Select column1, column4, column2, column3 FROM test_table

我不相信有一種動態地執行此操作的方法,但是由於您知道這些列將始終為空值,因此您應該對此充滿信心。

使用isnull和case語句從Employee中選擇不同的isull(id,0)當id為null時選擇不同的case,然后為0,否則id以Employee的id結尾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM