Nel mio sito ho una tabella con i film ed una tabella con le programmazioni di quei film su SKY (la chiave che unisce le 2 tabelle è idfilm)
Per vedere solo i film che ancora non sono stati trasmessi ho usato la seguente query:
[code:1:6be1b95e80]SELECT DISTINCTROW film.* FROM film INNER JOIN programmazione ON film.idfilm = programmazione.idfilm WHERE programmazione.giorno>=curdate() ORDER BY film.titolofilm[/code:1:6be1b95e80]
Perché non funziona invece questa query, molto più pulita, che sfrutta una subquery?
[code:1:6be1b95e80]SELECT * FROM film WHERE film.idfilm IN (SELECT programmazione.idfilm FROM programmazione WHERE programmazione.giorno>=curdate()) ORDER BY film.titolofilm[/code:1:6be1b95e80]
Se posso dirlo la pagina è su http://www.orientel.altervista.org/filmsky/ (tanto non ci ho messo banner, è solo per far capire di cosa parlo)