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

    relazione molti a molti - come fare la query?

    Buon giorno a tutti, sto per fare una domanda che a molti risulterà banale ma non riesco a trovare una soluzione data la mia poca conoscenza del linguaggio SQL.

    Ho due tabelle: alberghi e servizi. Ovviamente un albergo può avere molti servizi (per servizi intendo la piscina, il parcheggio ecc.) e viceversa per cui, trattandosi di una "molti a molti" ho creato una terza tabella nella quale inserisco l'accoppiata id_albergo - id_struttura.

    Quello che vorrei fare con una query è:

    ottenere tutti gli id_albergo che hanno TUTTI gli n servizi che chiedo.

    Per esempio:
    l'utente da un form mi seleziona l'id_servizo n°4 e l'id_servizio n°5. Io devo selezionare tutti gli id_struttura che hanno id_servizio=4 E id_servizio=5.

    Come fare?

    Grazie in anticipo

  2. #2
    ciao
    devi utilizzare la query di SELECT con LEFT JOIN in modo da agganciare in un record tutti i campi relativi alle tabella tra loro relazione

    La sintassi della LEFT (eq. INNER) JOIN la puoi trovate ovunque.

    Posta il tuo codice e vediamo come farlo funzionare al meglio

    Ciao
    Ginko
    Il progresso scientifico ? www.cartagodelendaest.it

  3. #3
    Se hai le tabelle:

    Alberghi:
    id
    nome

    Servizi
    id
    Descrizione

    Alb_Serv
    id_alb
    id_serv

    e vuoi trovarti gli alberghi con i servizi 4 e 5 puoi fare così:

    codice:
    select nome
    from alberghi as alb
    inner join alb_serv as alse
    on alb.id=alse.id_alb
    where id_serv in (4,5)
    Notare bene, non ho tirato in ballo Servizi perché tanto gli indici contenuti in Alb_Serv bastano e avanzano.

  4. #4
    ringrazio molto entrambi. Non ho la possibilità di provare subito la cosa quindi non so dirvi se funziona comunque il problema è quello che avete descritto nelle vostre gentilissime risposte. Grazie ancora

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.