• User

    [Mysql] Selezionare le case di una determinata regione

    Salve,

    Ho le seguenti tabelle:

    CITTA (idcitta , nomecitta, cap, idregione )

    CASE (idcasa , indirizzo, idcitta )

    (L'attributo idregione è una chiave esterna che si collega alla tabella regione )

    Vorrei riuscire a selezionare le case di una determinata regione (Es. idregione = 1 ) ma non ci sto riuscendo.

    E' possibile fare questo Join?


  • User Attivo

    Ciao, hai già un codice su cui lavorare?
    se il tuo problema è cercare una casa in una regione da te scelta, nonè difficile da fare, ma se vuoi una cosa tipo regione, citta, comune allora ti dico che ne sono stati scritti di topic per questo argomento.
    Ciao


  • User

    ciao dovresti creare una tabella regioni Ex: Sicilia=1 Calabria=2 ecc poi fare una query tra citta e casa!
    Praticamente quando inserisci una nuova casa devi creare un campo select con le regioni cosi nel record inserisci pure il codice della regione


  • Super User

    Devi fare un doppio JOIN, del tipo

    select idcasa, indirizzo, idcitta from case
    join citta on (citta.idcitta = case.idcitta)
    join regioni on (citta.idregione = regioni.idregione)


  • User

    esatto e poi fare come ha detto gorka non e difficile


  • User Newbie

    ti basta una join tra 2 tabelle, citta e case, se hai già a disposizione il valore di idregione (e se non ce l'hai fai in modo di avercelo :D).

    "Select * from case,citta where case.idcitta=citta.idcitta and citta.idregione=1"

    Al posto di 1 metterai la variabile se ti serve (immagino di si).

    In questo modo hai le case della regione, però se vuoi anche il nome della regione, o fai una join a 3 tabelle, oppure (meglio) fai 2 query, una è quella di prima, l'altra è una semplice

    "select nomeregione from regione where idregione=1"

    e il db fatica di meno 😉

    Ciao!

    P.s. anch'io sto lavorando al sito di un'agenzia immobiliare in questi giorni 😉