Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    query con quattro tabelle

    Ciao a tutti... sto provando a fare una newsletter e questa volta le tabelle mi sono aumentate fino a 4 e proprio non ce la faccio da solo
    Le tabelle sono:

    - newsletter (dove ci sono i contenuti della newsletter)
    - utenti
    - liste (dove ci sono le varie liste)
    - newsletter_liste (dove si mette in relazione la newsletter con le liste)
    - utenti_liste (dove si mette in relazione gli utenti con le liste)

    Quindi quando devo inviare la newsletter io ho l' ID della newsletter e da qui per estrarre gli utenti devo fare il seguente percorso (ve lo dico a parole mie ):

    Estraggo le liste_id FROM newsletter_liste WHERE newsletter_id = $id
    Estraggo gli utenti_id FROM utenti_liste WHERE liste_id = "risultati della query precedente"
    Estraggo finalmente l'id FROM utenti WHERE id = "risultati della query precedente"

    e così poi posso inviare la mia newsletter... ma è difficilissimo!!! ho la testa in pappa!

    grazie mille!

  2. #2
    puoi fare tutto con una sola query. Quella che ti propongo e' una traccia su cui lavorare.

    codice:
    select *
    from newsletter_liste as news
    left join utenti_liste as ut_l on news.liste_id = ut_l.liste_id
    left join utenti as ut on ut.id = ut_l.utenti_id
    where news.newsletter_id = $id

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    ho sotituito la prima riga con:

    select distinct email, nome, cognome

    e grazie mille! funziona... ora però cerco di capirla cosi da imparare qualcosa
    quello che non capisco è come faccia a funzionare nel momento in cui tu gli dici selezionami email, nome, cognome from newsletter_liste e non from utenti.

    grazie mille!

  4. #4
    Funziona perchè tu non prendi i dati da una sola tabella, con le Join vai ad "unire" le tabelle ossia vai a fare l'interrogazione anche sulle altre passando per il campo indicato

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.