Problème pour faire une requête SQL. - SQL/NoSQL - Programmation
Marsh Posté le 28-03-2008 à 13:46:47
Déjà, tu peux récupérer en 1 seule requête la liste des id ayant plus de 20 entrées dans la table messages :
SELECT id_destinataire, COUNT(1) nb
FROM messages
GROUP BY id_destinataire
HAVING nb > 20
(le "group by" permet d'exécuter le "count" pour chaque id_destinataire, et le HAVING permet de filtrer les lignes sur le résultat du "count" ).
Marsh Posté le 28-03-2008 à 14:44:44
Merci beaucoup, je connaissais pas tout ca !
Je vais voir si ça marche.
Mais y'a t'il un moyen de faire aussi la suppression des message dans la même requête ?
Code :
|
Marsh Posté le 28-03-2008 à 19:57:45
Je pense que non. La recherche des id (lecture) et la suppression portant sur la même table, je ne pense pas que le SGBD accepte de les méler dans une même requête
Marsh Posté le 28-03-2008 à 13:11:16
Bonjour,
j'aimerais faire une requete SQL mais je ne sais pas trop comment m'y prendre. Pour simplifier les choses voila les tables que j'ai :
Table joueurs avec id
Table messages avec id, id_destinataire, message.
Ce que j'aimerais c'est pour chaque joueur vérifier si il a plus de 20 messages. Si c'est le cas supprimer tous ses messages.
En gros voila ce que j'aimerais faire :
Comme vous le voyez c'est super moche. Si j'ai 3000 personnes dans ma BDD, ça fera au moins 3000 requêtes... mais j'arrive pas à voir comment faire autrement.
Merci d'avance a ceux qui m'aiderons