|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2008 Messages : 6 ![]() |
Bonjour
Je souhaite créer une table à 2 colonnes en insérant dans la 2ème colonne la concaténation avec une retour charriot de plusieurs valeurs. Voici ma table pour que cela soit plus explicite. MedecinParPatient: Id_patient | Medecin __________|___________ -----1----- | Dupond __________|___________ -----1----- | Pierre __________|__________ -----1----- | Renée __________|__________ -----2----- | Pierre __________|__________ -----3----- | Renaud __________|__________ -----3----- | Andrée __________|__________ etc....... __________|__________ Et je souhaiterais avoir cela: MedecinParPatient: Id_patient | Medecin _____________________ -----1----- | Dupond ----------- | Pierre ----------- | Renée __________ |________ -----2----- | Pierre ___________|________ -----3----- | Renaud ----------- |Andrée ___________|________ etc....... ___________|________ Si quelqu’un à la solution |
|
|
00
|
|
|
#2 |
![]() ![]() Alexandre ChemlaConsultant en Business Intelligence Inscription : février 2006 Messages : 1 773 ![]() |
Vous allez vous attirer les foudres d'une grande partie des développeurs de ce forum....
Vous ne devez jamais stocker plusieurs valeurs, surtout séparées par un retour chariot dans une même colonne d'une ligne ! Par contre vous pouvez définir une table de référence qui va contenir 2 colonnes (IdPatient, IdMedecin) et qui répètera l'IdPatient autant de fois que vous allez insérer de IdMedecin différents.
__________________
Alexandre Chemla - Consultant MS BI chez Masao |
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : août 2008 Messages : 6 ![]() |
Je m'en doute que cela n'est pas une chose a faire
Cela est pour un exercice donc je me vois pas dire à mon tuteur "Non c'est pô bien La table de référence est déjà créer (c'est celle que je vous montre en exemple) avec pour chaque patient le nom du médecin consulter (un par ligne). A la base cela provient de trois table différentes (Patients,Prescription,Medecin) |
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
En effet l'approche est fausse, puisqu'elle ne respecte pas la première forme normale, qui indique que toute valeur stockée dans une colonne doit être atomique. Ce que vous cherchez à faire, c'est de la présentation, et ça ne se fait pas en bases de données. Donc oui, votre tuteur se trompe. Votre table MedecinParPatient doit effectivement avoir deux colonnes, puisque c'est une relation n à n : - un patient peut avoir plusieurs médecins - un médecin traite plusieurs patients. Donc l'une des deux colonnes doit être l'identifiant du médecin, et l'autre l’identifiant du patient, et en aucun cas leur(s) nom(s). Code :
@++
__________________
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
|
|
|
#5 |
|
Invité de passage
![]() Inscription : août 2008 Messages : 6 ![]() |
Merci de votre réponse.
Je m'étais mal formuler excuser moi, c'est bien de la présentation que je souhaite faire et non une création de table J'ai tester votre code et celui-ci ne fonctionne pas " syntaxe incorrecte vers 'APPLY'." "Syntaxe incorrecte vers le mot clé 'FOR'." Pour info je suis sous SQL Server 2000 |
|
|
00
|
|
|
#6 | |||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Citation:
Remplacez par : Code :
__________________
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
|
|
|
#7 |
|
Invité de passage
![]() Inscription : août 2008 Messages : 6 ![]() |
Merci
![]() le ne fonctionne toujours pas mais ce n'est pas grave Encore Merci |
|
|
00
|
|
|
#8 | |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Désolé, je pensais que c'était pris en compte par SQL Server 2000 ... trop longtemps que je n'y ai pas touché
Citation:
@++
__________________
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
|
Copyright © 2000-2012 - www.developpez.com