Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683

    nomi delle colonne di una join

    Ciao a tutti! mi consigliate qual'è la stringa SQL per ricavare i nomi delle colonne di una tabella che però è stata generata da una JOIN?
    grazie

  2. #2
    Basta qualificare i nomi delle colonne coi relativi nomi di tabella.
    Io uso questo metodo:
    Codice PHP:
    $Query "SELECT tab1.id,
                    tab1.giorno, 
            tab1.mese, 
            tab1.anno, 
            tab1.cognome, 
            tab1.nome, 
            tab2.id AS altro_id, 
            tab2.data_conferma, 
            tab2.costo_corsa 
            From tab1 
            INNER JOIN tab2 
            ON tab1.id = tab2.id_altro" 
    Se, come nell'esempio hai 2 nomi di colonna uguali (tab1.id e tab2.id) basta dare un alias ad uno dei due

  3. #3
    dimenticavo una cosa
    nella ON tab1.id = tab2.id_altro si suppone che id_altro è il campo di collegamente tra le 2 tabelle

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    ma questo presuppone che io conosca i nomi delle colonne... io invece devo creare una select che mi dia i nomi delle colonne, non le righe della tabella

  5. #5
    Non capisco bene.
    Se non conosci i nomi delle colonne, non li conoscerai nemmeno con una interrogazione al DB, a meno che non decida di stamparli e vederli a scermo per poi usarli.
    Per far questo io uso questo (ovviamente per ogni tabella che mi interessa).
    Codice PHP:
    $link mysql_connect($Host$User$Password)
    mysql_select_db($DBName$link)
    $campi mysql_list_fields($DBName$table$link);
    $colonne mysql_num_fields($campi);
    $fields = array();
    for (
    $i 0$i $colonne$i++) {
        
    $fields[] = mysql_field_name($campi$i);
    }
    for (
    $i 0$i count($fields); $i++) {
        echo 
    $fields[$i]) . "
    \n"
    ;

    Però mettere gli elementi di questo array in modo giudizioso in una query che coinvolge più di una tabella è un po' complesso anche perchè potrebbero esserci nomi di campi uguali inammissibili.
    Quindi, di solito, quando mi capita di non conoscere i nomi dei campi faccio il lavoro qui sopra, mi copio i nomi e poi li uso nella query nel modo che ho detto prima.
    Vedi se questo può aiutarti.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    si può aiutarmi speravo ci fosse un metodo più automatico, da una select prelevare i vari nomi.. ma si può comunque venire a capo
    grazie

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.