Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617

    Problemino con join di tabelle!

    Ciao raga ho un problema mai affrontato onestamente.

    Ho questa query dove per la prima volta ho usato il join.

    codice:
    $query=mysql_query("SELECT* FROM clienti AS a, sedi AS b, referenti AS c  WHERE a.id='$id_cliente' ");
    	
    	while($temp=mysql_fetch_array($query)){
    		
    		$ragione_sociale=$temp['ragione_sociale'];
    		$iva=$temp['piva'];
    		$nome=$temp['nome_rag'];
    		$cognome=$temp['cognome_rag'];	
    		$tipo_sede=$temp['tipo_sede'];	
    		$referente=$temp[''];
    Adesso però mi sono reso conto di una cosa, nella tabella clienti e in quella referenti, ho dei nomi di campi uguali.

    Esempio in clienti c'è nome e cognome e in referenti c'è acnhe nome e cognome, posso distinguerli per poi stamparli associandogli una variabile?

    Grazie in anticipo!

  2. #2

    Re: Problemino con join di tabelle!

    Originariamente inviato da Madsex

    Ho questa query dove per la prima volta ho usato il join.

    codice:
    $query=mysql_query("SELECT* FROM clienti AS a, sedi AS b, referenti AS c  WHERE a.id='$id_cliente' ");
    	
    	while($temp=mysql_fetch_array($query)){
    		
    		$ragione_sociale=$temp['ragione_sociale'];
    		$iva=$temp['piva'];
    		$nome=$temp['nome_rag'];
    		$cognome=$temp['cognome_rag'];	
    		$tipo_sede=$temp['tipo_sede'];	
    		$referente=$temp[''];
    E dove sarebbe il join?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617
    E bhe l'ho detto che è la prima volta che ci provo.

    L'ho trovato in rete e adattato alle mie esigenze. Ma in effetti funziona malino.

    Non riesco a capire come fare onestamente, ho letto tipo 20 guide diversi.

    In pratica devo tirare fuori tutti i dati dei record di 3 tabelle che hanno un id uguale tra l'oro e capita pure che, tra tabelle, certi campi abbiano lo stesso nome.

    Grazie in anticipo!

  4. #4
    Codice PHP:
    $query "SELECT tab1.campo, tab1.campo2, tab2.campo3, tab2.campo4, tab3.campo5, tab3.campo6 FROM tab1 INNER JOIN tab2 ON (tab1.campo_in_comune = tab2.campo_in_comune) INNER JOIN tab3 ON (tab1.campo_in_comune = tab3.campo_in_comune)"
    assumendo che le relazioni delle tabelle tab2 e tab3 siano sempre con la tab1

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617
    Ma così non tiro fuori campi scpecifici?

    Io dovrei tirare fuori tutto da ogni record selezionato di ogni tabella.

    Tra l'altro non riesco a capire benissimo il funzionamento. Vorrei capire.

    A tal fine faccio un sempio esponendo le mie tabele:

    tab1:

    id e altri campi

    tab2:

    id id_tab1 e altri campi


    tab3:

    id id_tab2 e altri campi


    Io in pratica devo tirare fuori tutti i record di ogni tabellla, partendo dal'id della tabella 1.

    Secondo me sarebbe il caso di inserire nella tabella 3 anche l'id della tabella 1, per rendere le cose piu facili, ma cmq è secondario visto che non riesco a fare ciò che voglio neppure con 2 tabelle.

    Grazie in anticipo!

  6. #6
    Codice PHP:
    $query "SELECT tab1.*, tab2.*, tab3.* FROM tab1 INNER JOIN tab2 ON (tabs1.id = tab2.id_tab1) INNER JOIN tab3 ON (tab2.id = tab3.id_tab2)"
    Attento ad usare l'asterisco: se ci sono campi con nomi uguali nelle tre tabelle (ad esempio il campo id) con oghni probabilità ti darà errore o comunque non funzionerà come vuoi tu.
    Per ovviare fai la query con i nomi dei campi ed in caso di campi con nomi coincidenti, applichi un alias (tab1.campo1 AS campo1)

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.