par
Phil.Antrope » 16 août 2007, 23:42
Tant que j'y suis, je peux me permettre encore une petite question ?
Comment je fais la même chose mais en limitant l'ajout des valeurs avec 2 conditions ?
J'ai, par exemple, 3 champs : user_id, serie_id, team_id
et je voudrais limiter le nombre global de favoris d'un user précis à 5 serie_id différent,
chaque serie_id pouvant avoir 5 team_id différent chacun...
Je sais pas si je suis assez clair. En gros ça me donnerait, par exemple dans la table :
user_id = 5, serie_id = 10, team_id = 12
user_id = 5, serie_id = 10, team_id = 62
user_id = 5, serie_id = 10, team_id = 78
user_id = 5, serie_id = 10, team_id = 64
user_id = 5, serie_id = 25, team_id = 15
user_id = 5, serie_id = 25, team_id = 99
Donc en tout globalement le user disposerait de 25 row maximum (5 series x 5 team chacunes)
Bêtement dans mon élan de brute j'avais mis ceci :
Code : Tout sélectionner
INSERT INTO user_fav (user_id,serie_id,team_id)
SELECT "IDUSER", "IDSERIE", "IDTEAM" FROM user_fav
WHERE (user_id="IDUSER" GROUP BY user_id HAVING COUNT(user_id)<5)
AND (user_id="IDUSER" GROUP BY serie_id HAVING COUNT(serie_id)<5)
Mais bon, bien sur ça marche pas

Tant que j'y suis, je peux me permettre encore une petite question ?
Comment je fais la même chose mais en limitant l'ajout des valeurs avec 2 conditions ?
J'ai, par exemple, 3 champs : user_id, serie_id, team_id
et je voudrais limiter le nombre global de favoris d'un user précis à 5 serie_id différent,
chaque serie_id pouvant avoir 5 team_id différent chacun...
Je sais pas si je suis assez clair. En gros ça me donnerait, par exemple dans la table :
user_id = 5, serie_id = 10, team_id = 12
user_id = 5, serie_id = 10, team_id = 62
user_id = 5, serie_id = 10, team_id = 78
user_id = 5, serie_id = 10, team_id = 64
user_id = 5, serie_id = 25, team_id = 15
user_id = 5, serie_id = 25, team_id = 99
Donc en tout globalement le user disposerait de 25 row maximum (5 series x 5 team chacunes)
Bêtement dans mon élan de brute j'avais mis ceci :
[code]INSERT INTO user_fav (user_id,serie_id,team_id)
SELECT "IDUSER", "IDSERIE", "IDTEAM" FROM user_fav
WHERE (user_id="IDUSER" GROUP BY user_id HAVING COUNT(user_id)<5)
AND (user_id="IDUSER" GROUP BY serie_id HAVING COUNT(serie_id)<5)[/code]
Mais bon, bien sur ça marche pas :lol: