Das ist gut, die kann bereits Subselects. Möglicherweise wirst Du diese benötigen. Ohne jedoch einen Einblick in Deine Daten zu haben, kann ich das nicht beurteilen.
Tabelle p_rechnung
id | partner_id | anzahl | status | typ
1 | 2 | 100000 | 1 | 1
1 | 2 | 200000 | 1 | 1
Tabelle p_view
id | partner_id | views
1 | 2 | 150000
Tabelle partners
id | domain | email | session | klick | view
2 | domain.de | | | 1 | 1
So und hier nochmal die Abfrage:
SELECT p.id, p.domain
FROM partners p
LEFT JOIN p_rechnung r ON p.id=r.partner_id
LEFT JOIN p_view v ON p.id=v.partner_id
WHERE r.status = '1'
AND r.typ = '1'
GROUP BY p.id
HAVING SUM( r.anzahl ) > SUM(COALESCE(v.views))/COUNT( r.anzahl )
ORDER BY RAND()
LIMIT 1
Ok hier Erklärungen:
r.status -> Rechnungsstatus (1 bezahlt)
r.typ -> Views
r.anzahl -> Anzahl der Views, die ein Werbepartner haben möchte
Ich möchte das auf meiner Seite Werbebanner eingebunden werden. Allerdings nur so lange wie bezahlte Bannerimpressionen(Views) vorhanden sind. Schwer zu erklären jetzt.