yo,
Wo baue ich die Having-Bedingung genau rein? =)
gar nicht in der having klausel, wir haben ja auch kein group by mehr. das problem bei dir und dem group by ist, dass du im prinzip zwei group by miteinander über die joins verschatechlt hast, nämlich die summen der bezahlten banner und die summen der angezeigten banner. beides hat die partnerid. und wenn du danach gruppierst, dann verfälschen sich die beiden tabellen gegenseitig. wenn du nur eines von beiden angezeigt haben willst, dann würde group by wunderbar funktionieren. wir bauen das nun in die where klausel ein.
SELECT p.id, p.domain,
(SELECT COUNT(*) FROM p_rechnung r2 WHERE p.id = r2.partner_id) AS Anzahl,
(SELECT SUM(r3.anzahl) FROM p_rechnung r3 WHERE p.id = r3.partner_id) AS Summe_Rechnungen,
(SELECT SUM(v.views) FROM p_view v WHERE p.id = v.partner_id) AS Summe_Views
FROM partners p
WHERE IN
(SELECT r.partner_id
FROM p_rechnung r
WHERE p.id = r.partner_id
AND r.status = '1'
AND r.typ = '1'
)
AND (SELECT SUM(r3.anzahl) FROM p_rechnung r3 WHERE p.id = r3.partner_id) > (SELECT SUM(v.views) FROM p_view v WHERE p.id = v.partner_id)
eventuell kannst du bei mysql den teil mit den aliasnamen ersetzen, bin mir da aber nicht sicher, also den letzten teil:
AND Summe_Rechnungen > Summe_Views
Bist anscheinend immer noch am zocken ^^
jepp ertappt ;-)
Ilja