Bij het maken van een zo snel mogelijke query ben ik op een probleempje gestuit. Ik heb de volgende tabellen:
Banner
id (int)
datum (bigint)
views (int)
kliks (int)
niet_uniek (int)
siteid (int)
Campagne
id (int)
banner (tinytext)
url (tinytext)
daily_limit (int)
actief (char)
Nu wil ik een id plukken uit de tabel campagne die als eisen heeft:
- actief = 'ja'
- views van vandaag zijn lager dan daily_limit
Dat houdt dus in dat ik de tabel Banner moet joinen bij Campagne, nu is dat geen probleem maar hij moet volgens mij een dubbel ON statement aanwenden om zowel op siteid te joinen als op datum.
Ik heb de volgende query gebouwd:
Deze query geeft geen errors, maar hij vindt dat geen enkel resultaat voldoet aan de eisen die in die opsomming beschreven staat.
Wat is fout aan mijn query? Hoe kan wat ik wil wel?
Banner
id (int)
datum (bigint)
views (int)
kliks (int)
niet_uniek (int)
siteid (int)
Campagne
id (int)
banner (tinytext)
url (tinytext)
daily_limit (int)
actief (char)
Nu wil ik een id plukken uit de tabel campagne die als eisen heeft:
- actief = 'ja'
- views van vandaag zijn lager dan daily_limit
Dat houdt dus in dat ik de tabel Banner moet joinen bij Campagne, nu is dat geen probleem maar hij moet volgens mij een dubbel ON statement aanwenden om zowel op siteid te joinen als op datum.
Ik heb de volgende query gebouwd:
code:
1
2
3
4
| $sql="SELECT c.id FROM campagne c RIGHT JOIN banner AS b ON b.siteid = c.id AND b.datum = '$datum' WHERE c.actief = 'ja' AND b.views < c.daily_limit"; |
Deze query geeft geen errors, maar hij vindt dat geen enkel resultaat voldoet aan de eisen die in die opsomming beschreven staat.
Wat is fout aan mijn query? Hoe kan wat ik wil wel?