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

    [MySQL] JOIN e nomi dei campi

    Ciao, che succede ad una JOIN se i nomi di campi nelle tabelle richiamate sono uguali ?
    Il problema dovrebbe essere ricorrente nel caso degli 'id' delle tabelle,
    come lo risolvete ?
    Li chiamate sempre in modo differente e non semplicemente 'id' ?

    Ciao e grazie !!
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  2. #2
    io personalmente li chiamo in modo differente...
    tipo se la tabella si chiama utenti: u_id

    però cmq...quando fai la query...nn hai problemi... perchè puoi specificare la tabella e puoi usare AS

    Codice PHP:
    SELECT UTENTI.idUTENTI.nomeTOPIC.id AS t_idTOPIC.nome AS t_nome FROM TOPIC LEFT JOIN UTENTI ON (UTENTE.id TOPIC.autoreWHERE TOPIC.id'..' 
    questa è una semplice query fatta al momento per farti capire come poter risolvere :-)

    ciauzz

  3. #3
    Il problema è come trattare i dati ottenuti dalla query,
    una volta fatto il fetch se i campi hanno lo stesso nome come fanno a diversificarsi ??

    Supposto che la query sia circa quella da te inserita (sintatticamente corretta o meno)

    Codice PHP:
    $query="SELECT UTENTI.id, UTENTI.nome, TOPIC.id AS t_id, TOPIC.nome AS t_nome FROM TOPIC LEFT JOIN UTENTI ON (UTENTE.id = TOPIC.autore) WHERE TOPIC.id= '..'" 
    Eseguo poi la query e faccio il fetch:

    Codice PHP:
    $query_results mysql_query($query); 
    $fetch mysql_fetch_array($query_results); 
    Se ora voglio accedere agli id UTENTI e non agli id dei TOPIC come mi comporto ??
    Non capisco che fine facciano...
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  4. #4
    è qui che entra in gioco AS

    con AS tu gli specifichi un nome che desideri dargli solo per quella query...

    ecco l'esempio

    Codice PHP:
    $query="SELECT UTENTI.id, UTENTI.nome, TOPIC.id [b]AS t_id[/b], TOPIC.nome [b]AS t_nome[/b] FROM TOPIC LEFT JOIN UTENTI ON (UTENTE.id = TOPIC.autore) WHERE TOPIC.id= '..'"


    $query_results mysql_query($query); 
    $fetch mysql_fetch_array($query_results);

    $utente_id $fetch['id'];

    $topic_id $fetch['t_id']; //guarda la query: TOPIC.id [b]AS t_id[/b]; gli specifichi tu un nome 
    ciauzz

  5. #5

    Grazie, ora ho capito, non avevo letto con attenzione, quindi è solo il nome "fittizio" che gli dai al momento della query che dev'essere particolare per non rischiare duplicati, ma effettivamente nelle tabelle puoi continuare a nominarteli a piacere.

    Grazie !!
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  6. #6
    figurati...

    ciauzz

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.