IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

problème de DELETE sur une jointure avec la même table (doublons) [MariaDB]


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut problème de DELETE sur une jointure avec la même table (doublons)
    Bonjour, je dois supprimer dans une table les doublons qui ont un même "numéro" et un même "liste_id". Le doublon a supprimer est celui qui a l'id plus grand que l'autre.

    Cette requête fonctionne sous mysql4 mais en prod c'est du mariaDB et elle ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DELETE 
    FROM criteres c1, criteres c2
    WHERE c1.id > c2.id
    AND c1.numero=c2.numero
    AND c1.liste_id=c2.liste_id
    ca non plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DELETE 
    FROM criteres c1
    JOIN criteres c2 ON c1.numero=c2.numero
    WHERE c1.id > c2.id
    AND c1.liste_id=c2.liste_id
    ca non plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    DELETE 
    FROM criteres
    WHERE id IN(
    SELECT c1.id FROM criteres c1
    JOIN criteres c2 ON c1.numero=c2.numero
    WHERE c1.id > c2.id
    AND c1.liste_id=c2.liste_id)
    je commence a arriver a cours d'idée ^^

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Pour info ca ca marche, il faut préciser si on veut suppriner c1 ou c2 même si dans phpMyAdmin une erreur de syntaxe est détecté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DELETE c1
    FROM criteres c1, criteres c2
    WHERE c1.id > c2.id
    AND c1.numero=c2.numero
    AND c1.liste_id=c2.liste_id

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de lenteur sur une proc avec EF mais pas sur la base
    Par Oberown dans le forum Entity Framework
    Réponses: 0
    Dernier message: 14/02/2013, 16h49
  2. MVVM - Problème pour Autoscroll sur une ListBox avec du databinding
    Par caramel dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 18/11/2011, 14h29
  3. problème de recopie d'une entrée dans la même table
    Par tompliss dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/05/2009, 19h55
  4. Problème de delete sur one-to-many avec une cascade
    Par Theoden dans le forum Hibernate
    Réponses: 2
    Dernier message: 02/01/2009, 17h43
  5. Problème export excel sur une requete avec critère
    Par eddyG dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 20/09/2006, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo