Dans SQL Server, comment créer une boucle en sélectionnant
de données sera comme ceci:
id | data
---- | ---------
1 | AABBCC
2 | FFDD
3 | TTHHJJKKLL
ce que le résultat que je veux c'est
id | data
---- | ---------
1 | AA
1 | BB
1 | CC
2 | FF
2 | DD
3 | TT
3 | HH
3 | JJ
3 | KK
3 | LL
J'ai un code sql à l'aide du curseur
DECLARE @table2 table ( id INTEGER, data VARCHAR(500))
DECLARE Cur CURSOR FOR
SELECT id FROM table1
OPEN Cur
WHILE ( @@FETCH_STATUS = 0 )
BEGIN
DECLARE @LoopNum INTEGER
DECLARE @tempID INTEGER
DECLARE @tempDATA VARCHAR(255)
FETCH NEXT FROM Cur INTO @tempID
SET @tempDATA = SELECT data from table1 where id = @teampID
SET @LoopNUM = 0
WHILE @LoopNum< len(@tempDATA) / 2
BEGIN
INSERT INTO table2 (id, data)
VALUES( @tempID, SUBSTRING(@tempDATA, @LoopNum * 2 +1, 2))
SET @LoopNum = @LoopNum + 1
END
END
CLOSE Cur
DEALLOCATE Cur
SELECT * FROM table2
Je ne veux pas utiliser le CURSEUR parce que c'est trop lent, j'ai beaucoup de données.
Est-ce quelqu'un a une bonne idée pour elle? Est-il possible?
source d'informationauteur user2976421
Vous devez vous connecter pour publier un commentaire.
Vous Pourriez faire quelque chose comme cela .....
Votre Table
Ma Suggestion
Ensemble De Résultats
CHUTE de Temp Tables
Pas de fonctions, pas de curseurs. Essayez cette