Requête multipliée ...

Statut
N'est pas ouverte pour d'autres réponses.
1er
OP
SkYlEsS

SkYlEsS

Elite
le message d'erreur ... :-s
 
1er
OP
SkYlEsS

SkYlEsS

Elite
Erreur

requête SQL :

DELETE FROM ad_fournitures WHERE NOT EXISTS (

SELECT *
FROM ad_joueurs
WHERE ad_joueurs.id_joueur = ad_fournitures.id_joueur
)

MySQL a répondu:


#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXISTS ( SELECT *
FROM ad_joueurs
WHERE ad_joueurs.id_joueur
:-s
 

Bingo

Beer Addict
Mouais, c'est bizarre.
Et l'autre version, avec "NOT IN" ?
 
1er
OP
SkYlEsS

SkYlEsS

Elite
idem, j'comprends pô o_O
 
1er
OP
SkYlEsS

SkYlEsS

Elite
Boah, j'ai trouvé une autre astuce ... :roll:
 
1er
OP
SkYlEsS

SkYlEsS

Elite
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
 

oNi-

:baille: Lecteur
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-

:baille: Lecteur
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)
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut