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

    [SQL] SELECT di una Relezione tra 3 Tabelle

    Ciao a Tutti..

    Volevo sapere se si può, con un'unica Query, fare un SELECT *...,in modo che restituisca tutti i campi che sono in relezione tra loro (atraverso INNER JOIN) nel caso di 3 tabelle (T1,T2,T3) in relezione tra loro (T1 con T2 e T2 con T3).

    So che ne caso di 2 tabelle si fà :

    SELECT * FROM T1 INNER JOIN T2 ON T1.t1Codice = T2.t2Codice

    però se voglio tutti i campi di 3 relazioni? dove metto il riferimento di T3?

    Spero di essermi spiegato bene

    Ciao e Grazie..
    Il linguaggio migliore e quello che ti crei da solo...

  2. #2

    Re: [SQL] SELECT di una Relezione tra 3 Tabelle

    Originariamente inviato da Akira86
    Ciao a Tutti..

    Volevo sapere se si può, con un'unica Query, fare un SELECT *...,in modo che restituisca tutti i campi che sono in relezione tra loro (atraverso INNER JOIN) nel caso di 3 tabelle (T1,T2,T3) in relezione tra loro (T1 con T2 e T2 con T3).

    So che ne caso di 2 tabelle si fà :

    SELECT * FROM T1 INNER JOIN T2 ON T1.t1Codice = T2.t2Codice

    però se voglio tutti i campi di 3 relazioni? dove metto il riferimento di T3?

    Spero di essermi spiegato bene

    Ciao e Grazie..
    No io non ho capito.Posta gli schemi delle 3 tabelle (compresi di tipo per ogni colonna e di vincoli di chiave esterna (se ce n sono)) e di quali sono le colonne che vorresti ottenere dopo la select
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  3. #3
    Ok, faccio questo esempio:

    Tabella : Articolo
    Campi :
    - aCodiceArticolo (Chiave primaria, Contatore)
    - aModello
    - aMarca
    - asCodiceSpedizione (Chiave esterna, Numerica)
    ...

    Tabella : Spedizioni
    Campi :
    - sCodiceSpedizione Chiave primaria, Contatore)
    - sData
    - sPrezzoSpedizione
    - sdCodiceDestinatario (Chiave esterna, Numerica)
    ...

    Tabella : Destinatari
    Campi :
    - dCodiceDestinatario (Chiave primaria, Contatore)
    - dRagioneSociale
    - dNome
    ...

    Queste 3 tabelle sono in relazione. Nel programma che sto realizzando ho una Form dove mettero tutti i dati degli articoli e vorrei mostrare il codice spedizione e la ragione sociale del destinatario. Per fare ciò devo fare una query che mi restituisca il valore degli attributi delle tre tabelle però non ci riesco. Riesco solo e farmi restituire con l'INNER JOIN tutti i campi del record selezionato della tabella Articoli e tutti i campi del record correlato della tabella Spedizioni, mi manca il record della tabella Destinatari per sapere a chi è destinato l'articolo.
    E possibile farlo con un unica query o devo farne due? e se ne faccio due come posso rispettare tutto il percorso, mi servono sempre tutti e tre i riferimenti.

    Grazie..
    Il linguaggio migliore e quello che ti crei da solo...

  4. #4
    Quindi stai dicendo che delle tre tabelle due hanno un atributo in comune con cui fare il join e la terza non ne ha in comune con nessuna delle altre due. Se è così e vuoi comunque mostrare in un'unica tabella le colonne di tutte le tabelle non ti resta che fare un prodotto scalare,delle tre tabelle mettendo come condizione nella whwre solo l'uguaglianza tra i due campi delle due tabelle che ce l'anno in comune.Maforse non ho capito una mazza del problema.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

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