Ideally.
The definition of your table must be a IDENTITY
for IDSOL
which is your primary key, so you only have to make a simple INSERT
from a SELECT
:
CREATE TABLE #TEMP (IDSOL INT not null IDENTITY(1,1) PRIMARY KEY ,USUARIO VARCHAR(50) ,LastName varchar(255) NOT NULL,FirstName varchar(255),Age int, )
INSERT INTO #TEMP VALUES('ADMIN','RODRIGUEZ','LOPEZ',20)
INSERT INTO #TEMP VALUES('ADMIN','YAÑEZ','CARROL',20)
INSERT INTO #TEMP VALUES('ADMIN','MONS','JAFET',20)
INSERT INTO #TEMP
SELECT 'USUARIO', LastName, FirstName, Age FROM #TEMP GROUP BY IDSOL, LastName, FirstName, Age
SELECT * FROM #TEMP
The resutlado will be the following:
+---+-------+---------+-----------+-----------+-----+
| | IDSOL | USUARIO | LastName | FirstName | Age |
+---+-------+---------+-----------+-----------+-----+
| 1 | 1 | ADMIN | RODRIGUEZ | LOPEZ | 20 |
+---+-------+---------+-----------+-----------+-----+
| 2 | 2 | ADMIN | YAÑEZ | CARROL | 20 |
+---+-------+---------+-----------+-----------+-----+
| 3 | 3 | ADMIN | MONS | JAFET | 20 |
+---+-------+---------+-----------+-----------+-----+
| 4 | 4 | USUARIO | RODRIGUEZ | LOPEZ | 20 |
+---+-------+---------+-----------+-----------+-----+
| 5 | 5 | USUARIO | YAÑEZ | CARROL | 20 |
+---+-------+---------+-----------+-----------+-----+
| 6 | 6 | USUARIO | MONS | JAFET | 20 |
+---+-------+---------+-----------+-----------+-----+
Here you can see the demo and its results .
The inevitable.
If for some reason it is impossible to modify the structure of your temporary table, one option is to calculate the last IDSOL
inserted by adding the registration number with the function ROW_NUMBER
, where you simply use the same code that you have and the INSERT
is through a% % co:
INSERT INTO #TEMP
SELECT (SELECT MAX(IDSOL) FROM #TEMP) + ROW_NUMBER() OVER (Order by IDSOL), 'USUARIO', LastName, FirstName, Age
FROM #TEMP
GROUP BY IDSOL, LastName, FirstName, Age
The result would be the following:
+---+-------+---------+-----------+-----------+-----+
| | IDSOL | USUARIO | LastName | FirstName | Age |
+---+-------+---------+-----------+-----------+-----+
| 1 | 1 | ADMIN | RODRIGUEZ | LOPEZ | 20 |
+---+-------+---------+-----------+-----------+-----+
| 2 | 2 | ADMIN | YAÑEZ | CARROL | 20 |
+---+-------+---------+-----------+-----------+-----+
| 3 | 3 | ADMIN | MONS | JAFET | 20 |
+---+-------+---------+-----------+-----------+-----+
| 4 | 4 | USUARIO | RODRIGUEZ | LOPEZ | 20 |
+---+-------+---------+-----------+-----------+-----+
| 5 | 5 | USUARIO | YAÑEZ | CARROL | 20 |
+---+-------+---------+-----------+-----------+-----+
| 6 | 6 | USUARIO | MONS | JAFET | 20 |
+---+-------+---------+-----------+-----------+-----+
Here you can see the demo and its results .