Spero possiate darmi un suggerimento riguardo una query su due tabelle molti a molti.

La questione è questa:

tb_news
news_id
menu_fk
news_titolo

tb_images

img_id
news_fk
menu_fk
sezione_fk

Generalmente farei una query del genere (premesso che l'immagine potrebbe non esserci):
SELECT * FROM tb_news LEFT JOIN tb_images ON news_id = news_fk

ma ho il problema che le immagini per ogni news possono essere pi� di una e quindi:
SELECT DISTINCT news_id, * FROM tb_news LEFT JOIN tb_images ON news_id = news_fk

ma ho un altro problema, nella tabella tb_images non ci sono solo le immagini correlate alle "news" (tb_news) ma anche correlate con altre tabelle e quindi la news_fk (che non � univoca) pu� avere stessi valori per aree diverse. A questo punto ho il campo "sezione_fk" che mi indica a quale tabella appartengono. (1 = news, 2 = catalogo, 3 = gallery, ecc.)

Per estrapolare solo quelle della sezione giusta (news) ho pensato:
SELECT DISTINCT news_id, * FROM tb_news
LEFT JOIN tb_images ON news_id = news_fk AND (sezione_fk = 1 OR sezione_fk = null)

Ma con questa query non mi estrae le news che non hanno immagini correlate.

Suggerimenti?