Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    SQL che non considera la NOT IN

    Sto lavorando su un forum in ASP.

    Nella lista dei forum disponibili c'è anche il classico collegamento all'ultimo messaggio per ogni forum.

    La query dovrebbe andare a prendere l'ultimo messaggio, non tenendo di conto però dei messaggi che hanno l'attributo boolean "ELIMINATO" uguale a True.

    La query era questa in origine:

    codice:
    set rm = Cn.Execute("SELECT TOP 1 [DATAULTIMOACCESSO] FROM TF_MSGLETTI WHERE [IDUTENTE] = '"& mySessionID &"' AND [IDFORUM] = "& id &" ORDER BY [DATAULTIMOACCESSO] DESC")
    ed io l'ho modificata in;

    codice:
    set rm = Cn.Execute("SELECT TOP 1 [DATAULTIMOACCESSO] FROM TF_MSGLETTI WHERE [IDMSG] NOT IN (SELECT [ID] FROM TF_MESSAGGI WHERE [ELIMINATO] = True) AND [IDUTENTE] = '"& mySessionID &"' AND [IDFORUM] = "& id &" ORDER BY [DATAULTIMOACCESSO] DESC")
    Se faccio la SELECT interna da sola mi da i risultati giusti e mi restituisce i topics eliminati.

    Però quando richiamo la funzione con questa query nella pagina non funziona.
    Continua a prendere come ultimo messaggio anche uno che è stato cancellato...

    Mi sapete dire se sbaglio qualcosa nella query o se devo andare a cercare altrove il problema?

    Thanks

  2. #2
    Azz alla fine ho risolto.
    La query era giusta. Il problema era in un altro punto della pagina

    Thanks lo stesso

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.