Allora, sto creando un cms, mi connetto al database e leggo tutti i nomi delle tabelle e per ogni tabella leggo ogni campo e li passo a jquery tramite json!
Nella parte js creo una select box con tutti i nomi delle tabelle, quando ne seleziono una tramite ajax/json seleziono tutti i valori dei campi. Per le tabelle normali va tutto alla perfezione, se però ho delle chiavi esterne vorrei che al posto dell'id esca il valore del campo da me specificato per quella tabella (a questo scopo imposto un altra tabella che chiamerò campiSpeciali):

Per cui mi trovo in questa situazione:
campiSpeciali: id tabella campo tipo azione
comuni: id nome province(ext)
province: id nome regioni(ext)
regioni: id nome descrizione video
strutture: id nome comuni(ext) stelle tel fax indirizzo cap sito email selezionato
users: id username pswd email type

Ora, tramite php/ajax riesco a sapere se il campo è esterno e a quale tabella/campo faccio riferimento, e mi costruisco la query che mi serve: assumiamo per esempio che voglio visualizzare i comuni, e che sappia che al posto del campo province devo visualizzare non l'id ma bensì il nome di essa in ogni riga della tabella comuni...
io avevo pensato una query del tipo:

SELECT comuni.id,comuni.nome,comuni.province FROM comuni LEFT JOIN province ON comuni.province=province.nome WHERE province.id='2' LIMIT 0,20

Ma non mi restituisce niente...