Переместить все нулевые столбцы (столбцы с нулевыми ненулевыми значениями) в крайний правый угол таблицы - PullRequest
0 голосов
/ 08 мая 2018

У меня есть таблица с сотнями столбцов. Для нескольких столбцов значение всегда равно нулю. Я хочу переместить все такие столбцы (столбцы с нулевыми ненулевыми значениями) в крайнее правое положение, чтобы когда мои пользователи увидели таблицу, они сначала увидели полезную информацию.

Например: 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

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

используйте isnull и casementment выберите отличный isnull (id, 0) от Employee выберите отдельный случай, когда id равен нулю, а 0 иначе id заканчивается как id от Employee

0 голосов
/ 08 мая 2018

Порядок отображения столбцов определяется при запросе таблицы. Если вы хотите, чтобы эти столбцы отображались в правом конце результирующего набора, вам необходимо изменить их порядок в части SELECT вашего запроса.

Так что придерживайтесь своего примера, вместо:

Select column1, column2, column3, column4 FROM test_table

Вы бы имели:

Select column1, column4, column2, column3 FROM test_table

Я не верю, что есть способ сделать это динамически, но, поскольку вы знаете, что эти столбцы всегда будут иметь нулевое значение, вы должны чувствовать себя довольно уверенно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...