Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    [MySQL] - Creare View di tabelle con più indici

    Ciao a tutti! Mi trovo davanti a un dubbio amletico!

    Ho 3 tabelle collegate tra di loro da delle Foreign Key (le tabelle son di tipo innoDB).

    La struttura delle tabelle è la seguente:

    http://www.madetech.it/tabelle.jpg


    In sostanza la tabella Giornaliere contiene riferimenti a varie filiali e vari giustifiativi (ognuno dei quali ha il proprio record sulle tabelle separate che vedete, il quale contiene varie proprietà degli stessi)

    Io ora devo crearmi una View che mi visualizzi i dati delle 3 tabelle (per record) tutti insieme...

    Di norma non ho difficoltà a creare Views in MySQL ma stavolta son completamente bloccata...

    Suggerimenti?

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: [MySQL] - Creare View di tabelle con più indici

    Originariamente inviato da Veronica80
    Ciao a tutti! Mi trovo davanti a un dubbio amletico!

    Ho 3 tabelle collegate tra di loro da delle Foreign Key (le tabelle son di tipo innoDB).

    La struttura delle tabelle è la seguente:

    http://www.madetech.it/tabelle.jpg


    In sostanza la tabella Giornaliere contiene riferimenti a varie filiali e vari giustifiativi (ognuno dei quali ha il proprio record sulle tabelle separate che vedete, il quale contiene varie proprietà degli stessi)

    Io ora devo crearmi una View che mi visualizzi i dati delle 3 tabelle (per record) tutti insieme...

    Di norma non ho difficoltà a creare Views in MySQL ma stavolta son completamente bloccata...

    Suggerimenti?
    Provo a sbloccare la situazione:

    CREATE VIEW myVista
    as
    SELECT *
    FROM filiali
    JOIN giornaliera
    ON filiali.idFiliale = giornaliera.codiceFiliale
    JOIN giustificativo
    ON giustificativo.idGiustificativo = giornaliera.giu

    Una sola cosa non mi è chiara e questo potrebbe inficiare la correttezza della vista che ti ho scritto.

    La struttura della tabella giornaliera ha come struttura:
    giu1
    codiceFiliale1
    giu2
    codiceFiliale2

    come campi? O stai provando a dire quali dovrebbero essere i record?

    Nel primo caso non mi pare corretta la modellazione della tabella di mezzo.

    La stessa proprio perché di mezzo tra le due dovrebbe avere solo le chiavi esterne delle due tabelle (filiale e giustificativo) oltre ai campi propri (ad esempio la datagiornaliera ed il suo id).

    Infatti se la filiale con id 1 e la filiale con id 2 emettono due giustificativi con medesimo codice nella stessa giornata, nella tabella di mezzo mi aspetto di trovare 2 record.

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    si infatti temo che la tabella centrale sia mal strutturata!

    Come suggerisci di fare? :/

  4. #4
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da Veronica80
    si infatti temo che la tabella centrale sia mal strutturata!

    Come suggerisci di fare? :/
    La tabella centrale deve avere i seguenti campi:
    idGiornaliera
    dataGiornaliera
    idFiliale
    idGiustificativo

    quindi la vista ti viene semplice, come quella che ti ho scritto in precedenza.

  5. #5
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    No forse mi son spiegata male
    Ogni record deve avere 3 giustificativi!

    Ogni record in realtà è un giorno dell'anno e ogni giorno ha 3 giustificativi possibili! (son i motivi per il quale un dipendente non lavora! )

  6. #6
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da Veronica80
    No forse mi son spiegata male
    Ogni record deve avere 3 giustificativi!

    Ogni record in realtà è un giorno dell'anno e ogni giorno ha 3 giustificativi possibili! (son i motivi per il quale un dipendente non lavora! )
    Scusa, ma se esce un quarto giustificativo come lo gestisci??

  7. #7
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Non esce un 4° giustificativo! Sono massimo 3 al giorno!

    tu dici di mettere solo 1 campo filiale e 1 campo giustificativo e poi tipo creo 3 record con la stessa data? però come faccio a sapere qual'è il primo giustificativo, il secondo e così via?

  8. #8
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da Veronica80
    Non esce un 4° giustificativo! Sono massimo 3 al giorno!

    tu dici di mettere solo 1 campo filiale e 1 campo giustificativo e poi tipo creo 3 record con la stessa data? però come faccio a sapere qual'è il primo giustificativo, il secondo e così via?
    Si, se usi la soluzione che ti ho prospettato, hai il campo dataGiornaliera dove puoi mettere oltre che alla data anche l'orario (usando un datetime) e quindi poi sempre implementare logiche di ordinamento su quel campo.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.