Seite 1 von 1
Re: Last Email Sent = NULL
Verfasst: 04.04.2012, 11:12
von heisinger
Danke für deine Antworten.
Ich habe es jetzt so gelöst um neuanmeldungen auszusortieren:
Ein Cronjob schaut regelmäßig nach, welcher Datensatz letzter mail versand NULL und logischen wert 1 auf 1 stehen hat, und schreibt dort dann ein fiktivies Datum in den letzten Mailversand rein. Somit kann ich wunderbar eine regel erstellen welche diese Mails ausfiltert.
LG
Re: Last Email Sent = NULL
Verfasst: 03.04.2012, 22:26
von mirko
Das könnte man aber habe ich nicht so gemacht, weil dieses Feld eigentlich nur für Statistik gedacht war.
Re: Last Email Sent = NULL
Verfasst: 03.04.2012, 19:21
von heisinger
man könnte ja in der datenbank anstatt den wert null einen standardwert vergeben. Oder hätte das andere Auswirkungen? Man könnte ja somit anstatt NULL zb 2012-04-01 00:00:00 eintragen und dann mit diesem Datum vergleichen.
Re: Last Email Sent = NULL
Verfasst: 03.04.2012, 18:11
von mirko
Nein, weil das Feld NULL ist. Wenn dann muss man mit jjjj-mm-tt hh:nn:ss (j=Jahr, m=Monat, t=Tag, h=Stunde, n=Minute, s=Sekunde) vergleichen, das geht aber nicht bei diesem Wert, weil es immer NULL ist, wenn noch keine E-Mail versendet worden ist. Erst nach dem 1. E-Mail-Versand kann man damit vergleichen lassen.
Re: Last Email Sent = NULL
Verfasst: 03.04.2012, 15:21
von heisinger
aber wie kann ich dann anhand der regeln nach "Datum des letztens E-Mail versand" sortieren?
Wenn ich Feld "Datum des letzten E-Mail Versand" Vergleichsoperator "=" und Vergleichszeichenkette leer lasse, müssten ja theor. die ausgeworfen werden welche noch nie eine Mail erhalten haben. Oder irre ich mich da?
LG und Danke
Clemens
Re: Last Email Sent = NULL
Verfasst: 03.04.2012, 10:34
von mirko
Das kann man nicht.
Last Email Sent = NULL
Verfasst: 02.04.2012, 20:55
von heisinger
Hallo wie kann ich eine Regel definieren, die mir ausgibt welche User noch keine Email erhalten haben?
Ich habe den angezeigten SQL Code kleinwenig verändert:
Code: Alles auswählen
SELECT `newsletterempfnger_members`.*,
IF(`newsletterempfnger_members`.`u_Birthday` <> '0000-00-00', YEAR( CURRENT_DATE() ) - YEAR( `newsletterempfnger_members`.`u_Birthday`), 0)
AS `MembersAge` FROM `newsletterempfnger_members`
LEFT JOIN `heisinger_globalblocklist` ON `heisinger_globalblocklist`.`u_EMail`=`newsletterempfnger_members`.`u_EMail`
LEFT JOIN `newsletterempfnger_localblocklist` ON `newsletterempfnger_localblocklist`.`u_EMail`=`newsletterempfnger_members`.`u_EMail`
LEFT JOIN `newsletterempfnger_maillisttogroups` ON `newsletterempfnger_members`.`id`=`newsletterempfnger_maillisttogroups`.`Member_id`
LEFT JOIN `willkommensmail_groups` ON `willkommensmail_groups`.`ml_groups_id`=`newsletterempfnger_maillisttogroups`.`groups_id`
WHERE (`newsletterempfnger_members`.`IsActive`=1 AND `newsletterempfnger_members`.`SubscriptionStatus`<>'OptInConfirmationPending')
AND (`heisinger_globalblocklist`.`u_EMail` IS NULL AND `newsletterempfnger_localblocklist`.`u_EMail` IS NULL)
AND (`willkommensmail_groups`.`ml_groups_id` IS NOT NULL)
AND
(
( (`newsletterempfnger_members`.`LastEMailSent` IS NULL)
)
)
Verändert wurde nur die 3.letzte Zeile auf IS NULL
Wie kann ich das mit dem Regelwerk bauen?
Bzw. kann ich wo den SQL Code ändern?
LG
CLemens