Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    183

    Filtrare i dati di due tabella

    Ciao a tutti,

    O un problema che forse risulta più difficile da spiegare da fare. Cmq, cercherò di farlo.

    In un db MySql 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 devo 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...)

    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:m1@xx.it, m3@xx.it, m3@xx.it ...
    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...


    Non sò fino a che punto sono stato chiaro...

    Spero però in un vostro aiuto.


    CORREZIONE: il db non risulta MySql ma Access.
    Ultima modifica di gn2010; 20-04-2015 a 12:07

  2. #2
    Devi fare un esempio: ho questi dati in input, vorrei questi dati in output

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    183
    Avevo certato di farlo:

    dati di input tabella B:

    r1) prov: RM
    paese: Roma
    Cognome: Rossi

    r2) prov: PA
    paese: Palermo
    Cognome: Masini

    r3) prov: RM
    paese: Roma
    Cognome: Rossi

    r4) prov: MI
    paese: Milano
    Cognome: Giorgio

    etc....

    Contenuto della tabella A: (tabella con la lista delle email da inviare. Nella stessa tabella risulta un campo citta nel quale viene riportato lo stesso valore presente nel campo paese/citta della tabella B)

    risultato di output:
    ipotizzando che gli indirizzi email presenti nella tab A siano due del tipo:

    citta: RM
    citta: Palermo

    dovrei ottenere:

    email1: ragruppare i record r1,r3 quindi inviare una sola email

    email2: solo record r2 quindi inviare una l'email

    r4 rimane fuori in quanto non risulta corrispondenza fra le due tabelle


    E un casino riuscirla a spiegare bene. Però quello che cerco di spiegare, e, che se non riesco ad ragruppare i record mi tocca mandare una email per ogni corrispondenza trovata.

  4. #4
    Ciao,
    domanda banale : esiste una chiave esterna nella tabella B che ti permetta di fare una join ?
    Chi striscia non inciampa!

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    183
    Nella tabella A ci sono solo tre campi Nome,email,citta

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

    Come chiave primaria fra le due tabelle dovrebbero essere TAB. B prov,paese con TAB A citta.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.