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