sql subquery vraagje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Igor

Igor

18/11/2009 23:07:00
Quote Anchor link
Hallo allemaal,

Ik zit met een klein probleempje.

Ik ben een nieuwsbrieven systeem aan het maken. In een database heb ik een tabel met emailadressen, een tabel met nieuwsbrieven, en een tabel met daarin welke nieuwsbrief al naar welk emailadres is gestuurd.

Wat ik nu wil, is een sql query maken, die als resultaat teruggeeft, welke emailadressen een bepaalde nieuwsbrief nog níet hebben gehad. Ik zal dus gebruik moeten maken van een subquery, alleen lukt het mij niet helemaal.

Wat ik nu heb is dit, maar dit werkt alleen niet ;)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
= 'SELECT * FROM emailadressen WHERE id NOT (SELECT emailadres_id FROM nieuwsbrieven_historie WHERE nieuwsbrief_id = "'.mysql_real_escape_string($nieuwsbrief).'" GROUP BY emailadres_id) ';
?>


Kunnen jullie mij verder helpen?

Alvast bedankt.
Gewijzigd op 01/01/1970 01:00:00 door Igor
 
PHP hulp

PHP hulp

05/05/2024 08:57:38
 
Bo az

Bo az

18/11/2009 23:13:00
Quote Anchor link
Ik denk dat het gebruik van NOT IN je verder zal helpen.

Waarom gebruik je de group by in de subquery ? Als iedere nieuwsbrief maar 1x naar een adres verstuurd mag worden, dan hoort er een UNIQUE op de kolommen 'adres_id' en 'nieuwbrief_id'. Zo niet dan lijkt een SELECT DISTINCT mij beter op zijn plaats.
 
Igor

Igor

19/11/2009 07:51:00
Quote Anchor link
Dat doe ik omdat het wél mogelijk is om een nieuwsbrief meerdere keren naar één emailadres te sturen, wat ik ook zo wil houden.

Maar met SELECT DISTINCT i.p.v. GROUP BY moet hij dus wel werken?
Gewijzigd op 01/01/1970 01:00:00 door Igor
 
Wesley Overdijk

wesley Overdijk

19/11/2009 07:57:00
Quote Anchor link
Probeer het eens. en zeg dan 'het werkt niet'.
Je krijgt een suggestie, werk er dan mee ;)

btw, ik weet dat het vroeg is, maar je leest iets niet,

"Ik denk dat het gebruik van NOT IN je verder zal helpen. "

Ik ben het daar mee eens.
 
Igor

Igor

19/11/2009 16:41:00
Quote Anchor link
Ok, met die NOT IN werkt hij inderdaad ;)
Daar had ik inderdaad overheen gelezen. Laten we het er maar op houden dat het nog vroeg was :P

Bedankt :D
 
Boris Mattijssen

Boris Mattijssen

19/11/2009 17:41:00
Quote Anchor link
Waarom geen JOINS en dan checken met IS NULL
Of is dat slomer?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.