[英]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.