• User Newbie

    Invio newsletter

    Salve a tutti,

    Questo il mio problema che non riesco a risolvere

    In un db Access mi trovo due tabelle A e B

    Nella tabella A ci sono solo tre campi Nome,email,citta

    Nella seconda tabella B Cognome,prov,paese,dainviare ...

    Cosa devrei fare:

    Si tratta di inviare una newsletter, filtrando i dati dalla tabella B con il campo dainviare=1

    otterei tutti i record il cui valore dainviare risulti=1, quindi devo vedere se il valore del campo PAESE tab(B) sia presente nel campo CITTA tab(A)

    Nel caso sia presente, devo far partire una email che però ragruppi tutti i record della tabella (B) con il nome del paese uguale (Es. Roma,Roma,Roma...) cosi ragruppo tutti i record uguali in una sola email.

    dopo aver inviato l'email prima di passare alla prossima devo contrassegnare il campo dainviare=0

    Faccio degli esempi:

    TABELLA A:

    nome: rossi, luigi, giuseppe ...
    email: mail1, mail2, mail3 ...
    citta: roma, palermo, roma, venezia, palermo ...

    TABELLA B:

    cognome: xxxxx, yyyy, zzzz ...
    paese: roma, milano, torino, roma, palermo, roma ...
    ...
    ....

    In sostanza, io devo mandare una sola email per ciascun iscritto alla newsletter tab(A) che ragruppi però tutti i dati presenti nella tabella B il cui campo paese sia uguale al campo CITTA della tabella A.

    Altrimenti dovrei mandare una email per ogni corrispondenza trovata. Un casino...

    Spero però in un vostro aiuto.


  • User Attivo

    Ma il tuo problema è nell'invio della mail o nella gestione della logica?


  • User Newbie

    @PietroR said:

    Ma il tuo problema è nell'invio della mail o nella gestione della logica?

    Non è nell'invio dell'email, ma nel poter ragruppare i dati assieme secondo lo schema che in sintesi ho cercato di spiegare in modo chè mandi una sola email per ogni utente iscritto con i dati raggruppati. Altrimenti dovrei mandare una email per ogni occorrenza trovata.


  • Moderatore

    Ciao Marco e benvenuto nel nostro forum

    Una piccola domanda, il Nome della tabella A ed il Cognome della tabella B (in qualche determinata posizione) appartengono alla stessa persona?
    Se ho capito bene c'è un problema di progettazione della struttura dati alla base, vero?


  • User Newbie

    Il Nome della tabella A si riferisce all'utente iscritto alla newsletter, il Cognome della tabella B sono altri dati.

    Devo inviare una newsletter, filtrando i dati dalla tabella B con il campo dainviare=1

    otterei tutti i record il cui valore dainviare risulti=1, quindi devo vedere se il valore del campo PAESE tab(B) sia presente nel campo CITTA tab(A)

    Nel caso sia presente, devo far partire una email che però ragruppi tutti i record della tabella (B) con il nome del paese uguale (Es. Roma,Roma,Roma...) cosi ragruppo tutti i record uguali in una sola email.

    dopo aver inviato l'email prima di passare alla prossima devo contrassegnare il campo dainviare=0

    Un casino....


  • Moderatore

    Quindi devi inviare una mail a tutti gli elementi della tabella A che abbiano il campo città = al campo paese della tabella B, purché l'elemento della tabella B abbia il campo dainviare = 1.

    Giusto?

    Il campo paese della tabella B è univoco? Se non è univoco e hai due campi paese uguali, uno dainviare e l'altro no cosa deve fare l'applicazione?


  • Moderatore

    Se il paese della tabella B è univoco è sufficiente questo:

    SELECT A.* FROM A JOIN B ON B.Paese = A.Citta WHERE B.dainviare = 1