Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
SELECT a.*, count(v.`pub_id`)
FROM `affaires_pub` a 
LEFT JOIN `paiement_pub` p ON a.id = p.pubId 
LEFT JOIN `affaires_pub_view` v ON v.pub_id = a.id
WHERE `active`= '1' 
  AND `payee` = '1' 
  AND `renouvelee` = '0'
  AND count(v.`pub_id`) <= 10000 
GROUP BY v.`pub_id`
ORDER BY RAND()
LIMIT 1
En gros:
la table affaires_pub contiens les info que j'ai besoin (banière, lien, etc). paiements_pub sont les paiements pour les pubs et affaires_pub_view j'y stocke les informations sur les affichages.

Le but ici est d'aller chercher une banière au hasard dont le taux d'affichage est de <= 10 000 affichages. Je peux toujours faire une mise à jour à chaque fois que j'insère dans affaires_pub_view mais il me semble que c'est pas le must.

Dans le cas actuel j'essaie de joindre la table et de faire un compte.

Z'avez une idée de la meilleure approche à faire ? Ça serais bien apprécié