|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 51 ![]() |
bonjour,
j'ai la situation suivante: Select prd, cat From product Results Prd cat 1 a 1 b 1 c 2 a J’aimerai avoir le résultat suivant : Prd, cat 1 a, b, c 2 a Dans SQL server |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() |
Question maintes fois posées sur ce forum qui je le rappel, a des rêgles...
Merci de chercher un peu.
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
|
|
#3 |
|
Membre émérite
![]() Tony Développeur .NET Inscription : novembre 2010 Messages : 570 ![]() |
Tu fais une requete de sélection de tes "prod", et une sous requete correllée dans laquelle tu concatenes tes "cat"
|
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() |
Citation:
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
|
10
|
|
|
#5 |
|
Membre émérite
![]() Tony Développeur .NET Inscription : novembre 2010 Messages : 570 ![]() |
^^
En effet je sens que c'est ce qui va tomber, mais ça ne coûte rien de donner la théorie. |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() |
Bon, quelle est votre version de SQL SERVER?
Si >=2005 vous pouvez passer par une CTE recursive...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 51 ![]() |
J,ai sql server 2008 version 10.50.1617.0
SVP, est-ce possible pour vous de me donner la requête? merci beaucoup de votre aide |
|
|
00
|
|
|
#8 |
|
Membre émérite
![]() Tony Développeur .NET Inscription : novembre 2010 Messages : 570 ![]() |
|
|
|
00
|
|
|
#9 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 884 ![]() |
Comme le dit le sage iberserk, une CTE (Common Table Expression) fait l’affaire. Vous pouvez vous inspirer de ceci.
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
|
|
00
|
|
|
#10 | ||
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 724 ![]() |
Pour compléter le post vous avez aussi une autre alternative en passant par XML PATH :
Par exemple : Code :
|
||
|
00
|
|
|
#11 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
Pour avoir recommandé l'utilisation d'une CTE récurive et être passé à la solution XML PATH proposée par Mikedavem, je vous conseille fortement d'utiliser cette dernière, qui est bien plus performante @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#12 |
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 51 ![]() |
merci beaucoup pour la réponse.
ma requête fonctionne maintenant |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com