Ich bin nicht in der Lage, Ihre Frage richtig zu verstehen, ist das, was Sie suchen?
Der folgende Code wird dreimal durchlaufen und in die entsprechenden Spalten eingefügt.
Hinweis: Sie können Tabellenvariable nicht mit dynamischem SQL implementieren. Zu diesem Zweck müssen Sie die physische oder temporäre Tabelle verwenden.
DECLARE @fmth varchar(32) = 'January.February.March';
DECLARE @smth varchar(32) = 'April.May.June';
DECLARE @tmth varchar(32) = 'July.August.September';
DECLARE @fomth varchar (32) = 'October.November.December';
DECLARE @mth varchar(10);
DECLARE @i INT =3;
CREATE TABLE #Report
(Year smallint, January int, February int, March int, April int, May int, June int, July int, August int,
September int, October int, November int, December int)
WHILE(@I > 0)
BEGIN
DECLARE @IChar Varchar(5) = CAST(@I AS VArchar(5))
DECLARE @Month1 varchar(20) = PARSENAME(@fmth,@i)
DECLARE @Month2 varchar(20) = PARSENAME(@smth,@i)
DECLARE @Month3 varchar(20) = PARSENAME(@tmth,@i)
DECLARE @Month4 varchar(20) = PARSENAME(@fomth,@i)
-- Do Insert operation here
DECLARE @MyDynamicSQL VARCHAR(4000)
= 'INSERT INTO #Report('[email protected]+','[email protected]+','[email protected]+', '[email protected]+')
VALUES ('[email protected]+','[email protected]+','[email protected]Char+','[email protected]+')'
EXEC(@MyDynamicSQL)
SET @i = @I - 1
END
SELECT * FROM #Report
DROP TABLE #Report
Zeigen Sie uns, was Sie bisher versucht haben? – Ako
DECLARE fmth varchar (32) = 'Januar.Februar.März'; DECLARE smth varchar (32) = 'April.Mai.Juni'; DECLARE tmth varchar (32) = 'Juli.August.September'; DECLARE fomth varchar (32) = 'Oktober.November.Dezember'; DEKLAR mth varchar (10); DECLARE ich Tinyint = 3; DECLARE Bericht TABELLE ( \t Jahr smallint, \t int Januar \t int Februar \t int März \t int April \t int Mai \t Juni int, \t int Juli \t int August , \t September int, \t Oktober int, \t November Int, \t Dezember int ) WÄHREND i> 0 BEGIN \t mth = ParseName (fmth, i) \t Einsatz in Report (mth) \t i = i - 1; ENDE – Fili
auch mit @, weil sie Variablen sind, aber ich habe nicht genug Zeit, um herauszufinden, wie man sie hinzufügt – Fili