Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Query su 3 tabelle

  1. #1

    Query su 3 tabelle

    Ciao ragazzi, ho le seguenti tabelle:

    ville:
    id nome_villa via provincia comune cap stato

    province:
    CodProv Provincia SiglaProv CodReg

    comuni:
    Codice CodProv CodCom Comune SiglaProv CAP

    Io devo sapere il nome di tutte le ville inserite, il nome della provincia e il nome del comune. Tenete conto che nella prima ville.provincia=provincie.codProv e che ville.cap=comuni.cap...

    Come faccio ad estrarre sia province.Provincia che comuni.Comune?

    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  2. #2
    non ho capito..fai un esempio pratico?

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    La join non sarebbe difficile, ma la tua base dati mi sembra piuttosto confusionaria.
    Perchè la chiave fra comuni e ville sarebbe il cap?

  4. #4
    Vabbè lasciando stare il modo per niente normale delle tabelle ho fatto un piccolo riassunto di quello che hai scritto:
    Codice PHP:
    CREATE TABLE provincia (
        
    codprovincia,
        
    provincia,
        
    siglaprovincia,
        
    codregione,
        
    PRIMARY KEY (codprovincia)
    );

    CREATE TABLE comune (
        
    codcomune,
        
    codprovincia,
        
    comune,
        
    siglaprovincia,
        
    cap,
        
    PRIMARY KEY (codcomunecap)
    );

    CREATE TABLE villa (
        
    idvilla,
        
    nomevilla,
        
    via,
        
    provincia,
        
    comune,
        
    cap,
        
    PRIMARY KEY(idvilla),
        
    FOREIGN KEY provincia REFERENCES provincia(idprovincia)
        
    FOREIGN KEY cap REFERENCES comune(cap)
    ); 
    Quindi in maniera semplificata la tua query dovrà essere più o meno:
    Codice PHP:
    SELECT v.*, p.provinciac.comune
    FROM villa 
    AS v
    JOIN provincia 
    AS p ON v.provincia p.idprovincia
    JOIN comune 
    AS c ON v.cap c.cap
    Però se posso permettermi ci sono troppi attributi ridondanti tra provincia e comune ed inoltre nella tabella "villa" mancherebbe l'indirizzo civico che se una strada ha 1500 numeri non è troppo semplice trovare la villa

  5. #5
    Grazie mille, sull'organizzazione delle tabelle hai ragione... c'è un po' di confusione ma ho dovuto usare tabelle già esistenti...

    sull'indirizzo, ho evitato di postarvi tutti i campi di villa per evitare confusione ma ti assicuro che c'è!

    La doppia join mi confondeva e così usavo due query!

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.