Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    7

    [sql] query un po' complessa

    sono alle prese con un grattacapo abbastanza complicato. dopo aver letto diverso materiale continuo a non raccapezzarmi quindi non mi resta che chiedere il vostro aiuto.

    ho tre tabelle in un database mysql, dalla seguente struttura (cerco di semplificare il piu' possibile anche se la situazione reale coinvolge un database di phpBB pesantemente modificato):

    utenti.id (int)
    utenti.username (text)

    campi.id (int)
    campi.nome (text)

    dati.idutente (int)
    dati.idcampo (int)
    dati.idvalore (text)

    nella tabella utenti vengono memorizzati solo un id numerico univoco e id testuale univoco.
    nella tabella campi vengono memorizzati un id numerico univoco ed un nome per ogni campo di informazione aggiuntiva.
    nella tabella dati vengono memorizzati la id utente, la id del campo, e il valore del campo.

    in questo modo possono essere aggiunti dinamicamente campi nel profilo di un utente.

    non chiedetemi il perche' di un sistema tanto complesso, non l'ho ideato io, e' solo il funzionamento della mod xdata per phpBB.

    il fatto e' che ho bisogno di fare una query di TUTTE le informazioni di ogni utente, con una colonna per ogni campo, al fine di una esportazione in excel tramite phpmyadmin, e non so da dove cominciare...

    ho provato diversi tipi di JOIN ma il risultato e' sempre terribilmente confuso e lontano da cio' che voglio ottenere...

    qualche manina?

  2. #2


    Per quello che posso vedere nella struttura del DB da te riportata, mi pare di capire che non esiste in tutte e tre le tabelle un campo di raccordo da utilizzare nella JOIN.
    Spiegami meglio una cosa: nei campi utenti.id , campi.id e dati.idutente , c'è lo stesso numero ????

    Se così non fosse, non puoi fare la JOIN delle tre tabelle, in quanto ti manca il parametro che ti permette di farlo.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    7
    no, utenti.id e' uguale a dati.idutente, mentre campi.id e' uguale a dati.idcampo

    no la JOIN non va sicuramente...

    il problema e' che le colonne che vorrei per l'esportazione hanno il nome nelle righe della tabella campi e il valore nelle righe della tabella dati.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    7
    up

  5. #5
    Scusa se non ho risposto subuto, ma ho fatto qualche prova qui da me.

    Secondo me, devi mettere un campo che si ripeta nelle tre tabelle in modo che le linki tra loro e puoi fare una join complessa come quella che a te serve.
    Pensavo però, che potresti salvare le opzioni dei singoli utenti (se non ho capito male quello di cui stai parlano) in un file XML.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.