Précédent   Forum du club des développeurs et IT Pro > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/12/2012, 15h22   #1
xavier_dcf
Invité régulier
 
Homme
Étudiant
Inscription : octobre 2012
Messages : 52
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2012
Messages : 52
Points : 5
Points : 5
Par défaut mettre à jour à partir d'une autre table

bonjour ,

j'ai fais cette requête , est ce que vous pensez que c'est bon?

Code :
1
2
3
4
5
UPDATE obsclasse 
INNER JOIN moyenneetstdparcircu ON obsclasse.b_num_circ = moyenneetstdparcircu.b_num_circ 
SET  obsclasse.b_ecart_horaire = NULL 
WHERE obsclasse.b_ecart_horaire > (moyenneetstdparcircu.moyenne_ponctualite + moyenneetstdparcircu.ecart_type_ponctualite * 3) 
OR obsclasse.b_ecart_horaire < (moyenneetstdparcircu.moyenne_ponctualite - moyenneetstdparcircu.ecart_type_ponctualite * 3);
je veux mettre à null les valeurs extremes de la table obsclasse pour la variable b_ecart_horaire pour chaque numero de circulation .

une requete plus simple equivalente :
Code :
1
2
3
4
5
6
UPDATE obsclasse 
SET b_ecart_horaire= NULL 
WHERE b_ecart_horaire > (avg(b_ecart_horaire) + stddev(b_ecart_horaire)*3) 
OR b_ecart_horaire<(avg(b_ecart_horaire) - 
stddev(b_ecart_horaire)*3)  
GROUP BY b_num_circ;
mais on marque un message d erreurs

merci
xavier_dcf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2012, 21h24   #2
ericd69
Expert Confirmé
 
Avatar de ericd69
 
Homme Eric Dureuil
Développeur informatique
Inscription : avril 2011
Messages : 1 802
Détails du profil
Informations personnelles :
Nom : Homme Eric Dureuil
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 1 802
Points : 3 096
Points : 3 096
salut,

tu ne peux pas utiliser une fonction de groupement dans where car les groupement se font sur la partie affichage pas sur celle qui sélectionne les lignes

la solution est de faire l'extraction de tes valeurs dans une sous-requête que tu joins au lieu de faire une jointure directe...
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
ericd69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h46.


 
 
 
 
Partenaires

Hébergement Web