Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Not In

  1. #1

    Not In

    salve io utilizzo questa query
    in pratica nella tabella messaggi ho id, messaggio mentre in messaggi_notifica ho id, id_messaggio
    quaado nella tabella messaggi_notifica è presente una riga con il campo messaggi_notifica.id_messaggio=messaggi.id la query non mi deve restituire la riga. spero di essere stato chiaro.
    la query sotto non mi restituisce niente

    SELECT * FROM messaggi WHERE
    messaggi.id
    NOT IN
    (SELECT messaggi_notifica.id AS id2
    FROM messaggi_notifica
    WHERE
    messaggi_notifica.id_messaggio = messaggi.id )

  2. #2
    scusami ma se qui fai cosi
    messaggi_notifica.id_messaggio=messaggi.id

    perchè sotto cerchi messaggi.id quando l'altra query ti restituisce l'id?
    fatti restituire l'id del messaggio cosi:

    SELECT * FROM messaggi WHERE
    messaggi.id
    NOT IN
    (SELECT messaggi_notifica.id_messaggio AS id2
    FROM messaggi_notifica
    WHERE
    messaggi_notifica.id_messaggio = messaggi.id )

    (l'alias non è obbligatorio..)
    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    nel caso di mysql sconsiglio fortissimamente l'uso di IN e NOT IN in cotal guisa

  4. #4
    ho utilizzato EXISTS e funziona bene. questa funziona ha qualche problema che non conosco?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    son funzioni lente in mysql, se usate come sub query dipendente

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.