Requête multipliée ...

Discussion dans 'Web, design' créé par SkYlEsS, 3 Avril 2007.

Statut de la discussion:
Fermée.
  1. Offline
    SkYlEsS Kawai
    le message d'erreur ... :-s
    SkYlEsS, 11 Avril 2007
    #41
  2. Offline
    Bingo Beer Addict
    ? o_O ?
    Bingo, 11 Avril 2007
    #42
  3. Offline
    SkYlEsS Kawai
    :-s
    SkYlEsS, 11 Avril 2007
    #43
  4. Offline
    Bingo Beer Addict
    Mouais, c'est bizarre.
    Et l'autre version, avec "NOT IN" ?
    Bingo, 11 Avril 2007
    #44
  5. Offline
    SkYlEsS Kawai
    idem, j'comprends pô o_O
    SkYlEsS, 11 Avril 2007
    #45
  6. Offline
    guslinux Gamerz'ien
    Vérifies si la syntaxe correspond bien
    http://dev.mysql.com/doc/refman/5.0/en/delete.html

    Vérifies aussi que ton IN renvoie la bonne liste de valeurs.

    Par ailleur, je lis qu'on peut faire des LEFT JOIN dans les DELETE... ca peut t'aider ca :p
    guslinux, 11 Avril 2007
    #46
  7. Offline
    SkYlEsS Kawai
    Boah, j'ai trouvé une autre astuce ... :roll:
    SkYlEsS, 11 Avril 2007
    #47
  8. Offline
    SkYlEsS Kawai
    Tiens, j'me pose une question :

    y a t-il une requête pour vérifier si il n'existe pas 2 enregistrements identiques (tous les champs sont identiques) dans une même table ? :-D
    SkYlEsS, 13 Avril 2007
    #48
  9. Offline
    oNi- Elite
    Hmmm un truc comme ça ?
    Code:
    SELECT COUNT(*) AS 'nb_occurences', field1, field2, field3 ...  
    FROM table 
    GROUP BY field1, field2, field3 ...
    HAVING nb_occurences > 1
    
    Sans mettre l'id dans la liste des champs.
    Si par exemple tu mets la colonne id dans le select et le group by l'égalité ne sera plus là, vu que les id diffèrent.
    Si tu ne la mets que dans le select, là tu auras le premier id rencontré (normalement), enfin au moins 1 donc, mais pas le ou les autres.
    oNi-, 13 Avril 2007
    #49
  10. Offline
    oNi- Elite
    Sinon pour sortir les lignes complètes avec les id :
    Code:
    SELECT t2.* FROM table t1, table t2
    WHERE t1.field1 = t2.field1 AND t1.field2 = t2.field2 [ETC] AND t1.id <> t2.id
    ORDER BY field1 [ça devrait suffire pour le classement]
    
    (pour les 2 'table' dans le FROM, il s'agit de la même bien entendu)
    oNi-, 13 Avril 2007
    #50
Statut de la discussion:
Fermée.