Ciao a tutti, passo velocemente al problema:
Ho un database di notizie di diverse categorie (Cronaca, Sport ecc ecc) sono 10 in totale che sono identificate nel db con dei numeri che poi si relazionano con un altra tabella per il nome.
Ovvero Categoria Cronaca=51 ecc ecc
Vorrei visualizzare solo alcune categorie definite e non visualizzare le ultime 3 più recenti delle categorie scelte, faccio la select:
SELECT * FROM Notizie WHERE CATNotizie=45 and IDNotizia NOT IN (SELECT TOP 3 IDNotizia FROM Notizie WHERE CATNotizie=45 ORDER BY IDNotizia DESC)ORDER BY IDNotizia DESC
Così mi funziona alla grande!
Ma se volessi filtrare più categorie? e non visualizzare le ultime 3 notizie più recenti di quelle scelte faccio così?
SELECT * FROM Notizie WHERE CATNotizie=45 or CATNotizie=46 and IDNotizia NOT IN (SELECT TOP 3 IDNotizia FROM Notizie WHERE CATNotizie=45 or CATNotizie=46 ORDER BY IDNotizia DESC)ORDER BY IDNotizia DESC
Ma così non mi funziona....non dà errore ma non filtra correttamente visualizzando cmq tutto.....o meglio se metto tutto in ASC funziona non visualizzando le notizie delle categorie scelte ma togliendo le notizie più vecchie....io vorrei che fossero le più recenti!
non sò se mi sono spiegato.....grazie in anticipo per l'aiuto.

Rispondi quotando