Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pivot ou quelque-chose qui ressemble !

1 réponse
Avatar
Hervé REIGNOUX
Bonsoir,
Considérez le script suivant (à jouer plutôt avec des "Résultats dans du
texte" !) :
--------------------------------------
use tempdb
set NoCount ON
if exists (select * from sys.objects where object_id = OBJECT_ID(N'MaTable')
and type in (N'U'))
drop table MaTable
create table MaTable (
rang tinyint IDENTITY(1,1) not null,
col1 varchar(5),
col2 varchar(5)
)
insert MaTable (col1, col2) values ('a', 'BBB')
insert MaTable (col1, col2) values ('b', 'CCC')
insert MaTable (col1, col2) values ('a', 'DDD')
insert MaTable (col1, col2) values ('a', 'CCC')
insert MaTable (col1, col2) values ('b', 'BBB')
print 'Contenu complet de la table :'
select * from MaTable
print 'Résultat souhaité :)'
print 'col1 RES1 RES2 RES3 '
print '----- ----- ----- -----'
print 'a BBB DDD CCC '
print 'b CCC BBB null '

drop table MaTable
--------------------------------------
Je voudrais que
- dans la colonne RES1 il y ait la première entrée de col2, dans l'ordre du
rang
- dans la colonne RES2 il y ait la deuxième entrée de col2, dans l'ordre du
rang
- dans la colonne RES3 il y ait la troisième entrée de col2, dans l'ordre du
rang

1 réponse

Avatar
Hervé REIGNOUX
Excusez : c'est parti tout-seul !!
Quoi qu'il en soit, vous avez compris ce que je veux.
Vous avez aussi compris que je ne sais pas comment faire :)
Jai commancé à regarder PIVOT mais je en suis pas sûr que ça s'applique ici.
J'ai aussi commencé à regarder les "Requêtes récursives utilisant des
expressions de table communes" mais je me suis noyé !
Si quelqu'un a une idée, je l'en remercie d'avance...