Bonjour,
Je voudrais dans une requete select rajouter une colone contenant le numéro de la ligne
Num Col1 Col2
0 jhj gfgg
1 fsdf sdfsdf
2 fsf ssddqs
Comment faire pour rajouter cette fameuse colone ?
Merci d'avance
Bonjour,
Je voudrais dans une requete select rajouter une colone contenant le numéro de la ligne
Num Col1 Col2
0 jhj gfgg
1 fsdf sdfsdf
2 fsf ssddqs
Comment faire pour rajouter cette fameuse colone ?
Merci d'avance
Salut,
voici une solution qui fonctionne si tu fais une procédure stockée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE PROCEDURE ta_procedure AS CREATE TABLE #TEMP ( ID INT IDENTITY(1,1), -- Ici les champs de ta requête ) INSERT INTO #TEMP( /* Ici la liste des champs de #TEMP sauf ID) */ ) -- Ici ta requête SELECT * FROM #TEMP
En fait on voudrais le faire dans une requete SQL pour que l'on puisse le fiare avec n'importe qu'elle requete selojn différent critères.
Un peu plus simple et performant, mais selon la même idée:
cette façon de faire a une limite : elle n'accepte que des colonnes n'étant pas identity (on ne peut avoir qu'un identity par table... même temporaire)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE PROCEDURE ta_procedure AS BEGIN SELECT * INTO #TEMP FROM ... ALTER TABLE #TEMP add COLUMN ID INT identity (1,1) SELECT * FROM #TEMP ORDER BY ID END
Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2
N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD
Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
facade, tu fais d'abord un CREATE TABLE, puis un ALTER TABLE, alors que je ne fais qu'un CREATE TABLE... ou alors y a un truc qui m'échappe peut-êtreUn peu plus simple et performant:
Oui, il y a effectivement qqch qui vous échappe: le select into est une opération non loggée, et donc bien plus performante : c'est sur l'insertion et non sur la création de la table que le gain est donc fait.
Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2
N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD
Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
Je ne le savais pas... merci !Envoyé par fadace
Bonjour,
En faisant une recherche sur le forum j'ai trouvé un post avec exactement mon problème. Malheureusement je constate que la solution n'a pas été donnée.
Aurai-je plus de chance que AntiSal?
J'aimerais retourner dans un seul select le numéro de la ligne où je me trouve. L'équivalent du ROWID en Oracle.
ex:
N° colonne
1 a
2 b
3 c
Est-ce possible?
Merci pour vos réponses
Partager