Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Modifier l'ordre des colonnes apparaissant dans les résultats, sans modifier l'ordre de sélection

Il n'y a aucune fonctionnalité dans TSQL pour "déplacer" les colonnes, autre que la modification de l'ordre de la liste SELECT, c'est le mieux que vous puissiez faire :

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 ....

Vous pouvez envelopper votre requête existante dans une table dérivée, où vous pouvez ensuite déplacer les noms de colonnes à une seule ligne autant que vous le souhaitez. Assurez-vous simplement que tout ORDER BY est déplacé hors de la table dérivée.

Si vous utilisez SSMS , vous pouvez afficher votre ensemble de résultats en mode "résultats vers la grille" et simplement faire glisser et déposer les en-têtes de colonne pour faire glisser les colonnes.