Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/04/2007, 13h48   #1
Membre régulier
 
Homme
Retraité Ing Electronique
Inscription : mars 2004
Messages : 227
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 65
Localisation : France, Côtes d'Armor (Bretagne)

Informations professionnelles :
Activité : Retraité Ing Electronique
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2004
Messages : 227
Points : 72
Points : 72
Envoyer un message via Yahoo à zakuli Envoyer un message via Skype™ à zakuli
Par défaut Requête d'édition des enregistrements liés à un autre

Bonjour,

Je ne suis pas un as de MySql et je ne sais pas comment réaliser une requête un peu spéciale :

Soit une table contenant les champs id, lien, nom
1,0,"A"
2,0,"B"
3,2,"C"
4,0,"D"
5,1,"E"
6,5,"E"
7,0,"E"
8,6,"E"
9,3,"E"

Chaque enregistrement peut être lié ou non à un autre par le lien qui représente l'id de l'enregistrement auquel il est lié. Si l'enregistrement n'est pas lié, le lien contient 0.

J'aimerai pouvoir faire une requête qui, à partir d'un id, édite tous les enregistrements liés à celui là

Peut on construire une unique requête qui nous donne tous les enregistrements concernés ?

exemple :
-à partir de l'id 6 éditer les enregistrements 1,5,6,8
-à partir de l'id 2 éditer les enregistrements 2,3,9
zakuli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 14h00   #2
Membre Expert
 
Avatar de Jasmine80
 
Jasmine
Inscription : octobre 2006
Messages : 2 824
Détails du profil
Informations personnelles :
Nom : Jasmine
Âge : 32
Localisation : Belgique

Informations forums :
Inscription : octobre 2006
Messages : 2 824
Points : 2 083
Points : 2 083
Citation:
champs id, lien, nom
1,0,"A"
2,0,"B"
3,2,"C"
4,0,"D"
5,1,"E"
6,5,"E"
7,0,"E"
8,6,"E"
9,3,"E"
exemple :
-à partir de l'id 6 éditer les enregistrements 1,5,6,8
-à partir de l'id 2 éditer les enregistrements 2,3,9
A oui ça va en cascade
Pour l'id 2 on trouve que 2 est lié à 3 (3, 2, E) et puis on prend 3 (9, 3, E) et donc ça donne la série 2-3-9


Ca parait compliqué, il faudrait imbriquer plusieurs SELECT
Je sais qu'il y a moyen d'écrire des fonctions en SQL mais je n'en ai jamais fait.


http://dev.mysql.com/doc/refman/5.0/...-function.html
Et faire une boucle WHILE pour imbriquer les SELECT tant que l'on ne tombe pas sur un lien 0
http://dev.mysql.com/doc/refman/5.0/...statement.html

Jasmine,
Jasmine80 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 17h44   #3
Membre régulier
 
Homme
Retraité Ing Electronique
Inscription : mars 2004
Messages : 227
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 65
Localisation : France, Côtes d'Armor (Bretagne)

Informations professionnelles :
Activité : Retraité Ing Electronique
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2004
Messages : 227
Points : 72
Points : 72
Envoyer un message via Yahoo à zakuli Envoyer un message via Skype™ à zakuli
Merci Jasmine,

Je vais consulter plus avant les documents indiqués, mais dans les réponses, je n'ai pas l'impression que ce soit possible en une seule requête et sans se servir de php ou d'un autre langage annexe à moins de disposer de MySql5
zakuli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h17.


 
 
 
 
Partenaires

Hébergement Web