2010-08-12 6 views
1

Je veux aller chercher toutes les colonnes à l'exception d'une colonne, Quelqu'un peut-il m'aider à obtenir le résultat sauf écrire tout le nom de la colonne, car il est bon pour moins de colonnes mais si le table ont plus de 100 colonne alors ce sera très long .......Récupère toutes les colonnes sauf une

+0

Il est possible, mais non sans SQL dynamique. vous allez écrire une requête comme Sachin qui crée une chaîne de requête dynamiquement. Il est très peu probable que votre table ait 100 colonnes; pouvez-vous donner une bonne raison à cela? –

+0

duplication possible de [SQL exclut une colonne en utilisant SELECT \ * \ [sauf columnA \] FROM tableA?] (Http://stackoverflow.com/questions/729197/sql-exclude-a-column-using-select-except- columna-de-tablea) – zloctb

Répondre

0

Je ne crois pas que ce soit possible.

2

Pour cela, vous devez exécuter dynamic-SQL. Vous pouvez créer une fonction qui vous renvoie les noms de colonnes ou vous pouvez faire quelque chose comme

DECLARE @ColList Varchar(1000), @SQLStatment VARCHAR(4000) 
SET @ColList = '' 
select @ColList = @ColList + Name + ' , ' from syscolumns where id = object_id('Table1') AND Name != 'Column20' 
SELECT @SQLStatment = 'SELECT ' + Substring(@ColList,1,len(@ColList)-1) + ' From Table1' 
EXEC(@SQLStatment) 

est ici le lien pour cet exemple -

http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/39eb0314-4c2f-4e07-84c8-e832499049f8

0

Ce n'est pas possible sans écrire une autre requête faire une boucle sur les noms de colonnes.

Si vous connaissez les colonnes dont vous avez besoin, vous devez les nommer par SELECT. Sinon, vous devriez SELECT *.

0

Vous devez énumérer tous les noms que j'ai peur. En supposant qu'il s'agit d'un objet de base de données permanent (par exemple, table, vue), dans Management Studio, vous pouvez cliquer avec le bouton droit sur l'objet dans l'arborescence et choisir SCRIPT TABLE AS -> SELECT pour éviter de tous les taper. Vous pouvez également faire glisser le dossier "columns" dans la fenêtre de requête pour obtenir la liste des noms de colonnes délimitée par des virgules.

1

Si cela est un besoin fréquent, je create a view qui contient les colonnes qui vous intéressent

Questions connexes