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

    [PHP - MYSQL] Chiarimenti su come effettuare un Join su due o più tabelle

    Dunque salve a tutti. Avrei un probleemino che non riesco a risolvere.

    Duqnue io ho 3 tabelle con i seguenti campi uguali: data, nome e mi serve tenere le tabelle separate per una uestione di permessi.

    Duqnue quando io vado a fare la selcet devo effettuare un join su più tabelle ma non so che chiavi esterne inserire per fare in modo che ciò avvenga.

    Spero di essermi spiegato attendo una vostra risposta.

    Grazie in anticipo
    Matteo
    Lunga vita agli ULTRAS
    La nostra fede non si diffida..Ultras Liberi

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    50
    Se le tre tabelle hanno i nomi degli attributi uguali a due a due puoi usare una NATURAL JOIN:
    SELECT *
    FROM tab1 NATURAL JOIN tab2 NATURAL JOIN tab 3
    WHERE ecc.. ecc..

    se invece i nomi degli attributi sono diversi:
    SELECT *
    FROM tab1, tab2, tab3
    WHERE data1=data2 AND nome2=nome3

    spero di essere stato chiaro e di averti risposto!! ciao

  3. #3
    grazie per al risposta... ho adottato il tuo nuovo metodo non mi da errore ma mi restituisce la seguente stringa "empty set" perchè nella condizione where ho inserito un dato che è contenuto in tutte e tre le tabelle e mi doveva restituire dei valori come mai sta cosa?

    grazie ancora
    Matteo
    Lunga vita agli ULTRAS
    La nostra fede non si diffida..Ultras Liberi

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    50
    mi puoi postare la tua select... così ci capisco un pò di più...
    un pò di informazioni..nn riesco a fare tutto in maniera teorica....

  5. #5
    si scusa le mie 3 tabelle hanno i seguenti campi: data, nome

    io ho fatto la seguente selct:

    SELECT * from Invito1 NATURAL JOIN Invito2 NATURAL JOIN Invito3 Where nome= 'Mario Rossi';

    e mi dovrebbero apaprire 3 risultati ognuno appartenente alle 3 tabelle... dove stà il problema?
    Matteo
    Lunga vita agli ULTRAS
    La nostra fede non si diffida..Ultras Liberi

  6. #6
    nessuno che mi sa dire il perchè? vi prego..

    Grazie ancora
    Matteo
    Lunga vita agli ULTRAS
    La nostra fede non si diffida..Ultras Liberi

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Scusa ma se i campi sono gli stessi che relazione ci può essere fra le tabelle?
    Nell'esempio che hai fatto usciranno le righe in cui tutte e tre le tabelle hanno Mario Rossi come nome e la data è sempre la stessa.

  8. #8
    si lo so è una cosa aprticolare ma dovono apparire lo stesso quei nomi mi serve quello... peccato però che ciò nn avviene ^_^ come mai?
    Matteo
    Lunga vita agli ULTRAS
    La nostra fede non si diffida..Ultras Liberi

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    50
    devi dare un alias alle tabelle..e specificare in quale tabella fai la WHERE

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.