Вопрос по sql-server-2008, sql-server – Изменение порядка появления столбцов в результатах без изменения порядка выбора

1

У меня есть запрос, в котором я выбираю более 15 вещей и, таким образом, получаю (более) 15 столбцов в своих результатах. Некоторые из вещей, которые я выбрал, - это большие операторы CASE. T-SQL, конечно, отображает ваш результат в порядке, чем вы перечисляете вещи вSELECT заявление.

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

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

т.е. не хотите менять:SELECT a,b,c,d,e,f вSELECT f,d,a,b,c,e since a-f can each be 5-10 lines of code

б) перетащить столбец в результатах рядом друг с другом, потому что, если я хочу, чтобы столбец 2 находился рядом со столбцом 9 и столбцом 14, а все три - в конце таблицы результатов, то это много перетаскивания, чтобы сделать.

в) знание номера столбца того, что было выбрано, в отличие от имени столбца

Я ищу то, что напоминает:

Select
    vi.Name
   ,vi.Height
   ,vi.Power
   ,case when tt.losses < 3
         then 'Y'
         else 'N'
    end as MasteryKen
   ,tt.blahnum
   ,vi.blahtext
   ,vi.blahdate
   ,vi.blahcalc
   ,tt.blahflag
   ,vi.blahflag
   ,vi.blahcompare

From SenshiVitalInfo vi 
Join TatakauTable tt 
  on vi.namecd=tt.namecd

OrderOutputResults by tt.blahflag, vi.blahflag, *

Существует ли функция для выполнения последней строки в T-SQL (SQL Server 2008)?

Уровень представления? Мои выражения занимают несколько строк. Представьте себе, что дело в лэйс-кейсе - довольно громоздко вырезать, вставлять и перемещать VISQL
Почему порядок столбцов имеет значение? Может ли уровень представления обрабатывать псевдонимы столбца / выражения и упорядочивать их в любом порядке? Также, если вы поместите каждое выражение в отдельную строку, разве не будет очень легко перемещать их? Вы просто выбираете целую линию, обрезаете & amp; вставить... Aaron Bertrand
SQL Server предназначен для хранения и извлечения данных - он не предназначен для обработки всех возможных параметров отображения, которые вы, возможно, захотите иметь. Получите данные из SQL Server, используя ваш запрос - порядок столбцовirrelevant - а затем отобразить их в приложении переднего плана, например, в веб-приложении или где-либо еще, и обработать порядок столбцовthere. marc_s
Вы можете выбрать столбец более одного раза. Просто добавьте строку впередиvi.Name чтобы отобразить столбцы, которые вы хотите просмотреть для тестирования, затем удалите строку, когда вы закончите. SQL Server покорно вернет все запрошенные столбцы. HABO

Ваш Ответ

3   ответа
1

Нет, этого не существует.

Если вам не нравится перемещать операторы case, вы можете поместить запрос в представление, из которого вы выбираете, и затем список выбора будет упрощен, но для меня это пустая трата усилий.

5

В TSQL нет функциональности для "перемещения" вокруг столбцов, кроме редактирования порядка выбора SELECT, это лучшее, что вы можете сделать:

SELECT
    d.Name
   ,d.Height
   ,d.Power
   ,d.MasteryKen   --<<can now move around single lines
   ,d.blahnum
   ,d.blahtext
   ,d.blahdate
   ,d.blahcalc
   ,d.blahflag
   ,d.blahflag
   ,d.blahcompare
FROM (Select
          vi.Name
         ,vi.Height
         ,vi.Power
         ,case when tt.losses < 3
               then 'Y'
               else 'N'
          end as MasteryKen
         ,tt.blahnum
         ,vi.blahtext
         ,vi.blahdate
         ,vi.blahcalc
         ,tt.blahflag
         ,vi.blahflag
         ,vi.blahcompare

      From SenshiVitalInfo vi 
      Join TatakauTable tt 
        on vi.namecd=tt.namecd
     ) d
--ORDER BY ....

Вы можете обернуть существующий запрос в производную таблицу, где вы можете затем перемещать однострочные имена столбцов по своему усмотрению. Просто убедитесь, что любой ORDER BY перемещен из производной таблицы.

If You are using SSMSВы можете просмотреть свой набор результатов в & quot; Результаты в таблицу & quot; режим и просто перетащите заголовки столбцов, чтобы скользить столбцы вокруг.

Error: User Rate Limit Exceeded VISQL
1

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

Если вы используете SQL IDE для просмотра результирующего набора, вы можете перетащить нужные столбцы вместе, я делал это в SSMS.

В противном случае ответ Абэ - это все, что вы можете сделать.

Похожие вопросы