ho due tabelle per gestire le news

una dove salvo i dati principali (id, autore, data etc) e nell'altra dove tramite l'id della news salvo la news nelle varie lingue (faccio un esempio semplificato)

codice:
TABELLA NEWS
id_news - autore - sezione - data

TABELLA NEWS TESTO
id_news - titolo - testo - lingua


--------

TABELLA NEWS
1 - andrea - news - 2010-08-31 21:00:00

TABELLA NEWS TESTO
1 - titolo news - ciao mondo - italiano
1 - title news - hello world - inglese
Mi sono spiegato come vengono salvati i dati? nella prima tabella salvo la news, nella seconda prelevando l'id della news specificata la scrivo nelle varie lingue in cui la voglio tradurre.


Il mio problema è come ora gestire la visualizzazione della news corretta.
Io ho una lingua principale nel mio cms (che imposto nel dati di configurazione) e poi i vari utenti registrati posso gestire la loro lingua in cui voglio vedere il sito tradotto (da connessi logicamente).

Diciamo che io ora prelevo tutte le news che ho salvato e le visualizzo nella lingua principale del sito da normale visitatore.
Da connesso però voglio vedere la news nella lingua in cui io imposto e se la news non dovesse esistere nella lingua impostata da me la visualizzo nella lingua principale del sito.

come posso fare?


avevo buttato qualcosa di simile

Codice PHP:
SELECT FROM tabella_news 
JOIN tabella_news_testo ON tabella_news
.id_news tabella_news_testo.id_news 
WHERE tabella_news
.stato AND tabella_news.tipo AND (tabella_news_testo.id_lingua $sessione_id_lingua OR tabella_news_testo.id_lingua 1)
ORDER BY tabella_news.id_news ASC 
ma così non va bene perchè mi visualizza sia le news nella lingua principale del sito (tabella_news_testo.id_lingua = 1) sia nella lingua impostata dall'utente da connesso (tabella_news_testo.id_lingua = $sessione_id_lingua).
mentre come detto poco fa voglio vedere le news nella lingua impostata dall'utente da connesso e se non dov'esse esistere la news in quella lingua la visualizzo nella lingua principale del sito.

chi mi riesce ad aiutare?