Ich habe eine Tabelle, aber ich kenne ihre Spalten nicht. Es Name ist XSelect-Anweisung mit String-Ausdruck
ich seine Spalten mit dem folgenden Code finden:
DECLARE @columnNames NVARCHAR(4000) = ''
SELECT @columnNames = @columnNames + ', ' + COLUMN_NAME FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = 'X'
Nun möchte ich select-Anweisung in meiner Tabelle verwenden, aber wie?
Ich denke, es sollte so sein. Ich habe nicht richtig Weg finden:
SELECT SUBSTRING(@columnNames, 2, LEN(@columnNames)) FROM X
edit:
Eigentlich möchte ich Spalten ohne id-Spalte verschmelzen.
DECLARE @columnNames NVARCHAR(4000) = ''
SELECT @columnNames = @columnNames + ' + ' + COLUMN_NAME FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = 'X' AND COLUMN_NAME <> 'id'
Und dann
SELECT SUBSTRING(@columnNames, 4, LEN(@columnNames)) FROM X
Ich weiß, dass es schlechter Stil ist, aber warum 'wählen nicht * von X' Arbeit für dich? –
eigentlich möchte ich Spalten ohne ID-Spalte zusammenführen. SELECT @columnNames = @columnNames + '+' + COLUMN_NAME VON INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'X' UND COLUMN_NAME <> 'id' und wählen Sie dann ich verwenden möchte ... – ogun