Visualizzazione dei risultati da 1 a 6 su 6

Discussione: not in non funzia

  1. #1

    not in non funzia

    Salve vorrei capire perché mai continuo a ricevere un insieme vuoto da questa query se eseguendo la prima parte della query è presente una parola che non è presente nella parte seguente il NOT IN



    codice:
    SELECT DISTINCT nome FROM parole as parole1 JOIN sinonimi as sin1 ON parole1.id=sin1.id1  where sin1.id2=8 UNION SELECT DISTINCT nome FROM parole as parole2 JOIN sinonimi as sin1 ON parole2.id=sin1.id2  where sin1.id1=8 NOT IN ( SELECT DISTINCT nome FROM parole JOIN appartenenza ON parole.id=appartenenza.id1 )

    grazie a tutti!!!
    Se incontrerai qualcuno persuaso di sapere tutto e di essere capace di fare tutto, non potrai sbagliare: costui è un imbecille.
    Confucio.

  2. #2
    Ti ho messo in rosso quello che cambierei..

    SELECT DISTINCT nome
    FROM parole as parole1 JOIN sinonimi as sin1 ON
    parole1.id=sin1.id1
    where sin1.id2=8

    UNION SELECT DISTINCT nome
    FROM parole as parole2 JOIN sinonimi as sin2 ON
    parole2.id=sin2.id2
    where sin2.id1=8 And
    CAMPO
    NOT IN ( SELECT DISTINCT nome FROM parole JOIN appartenenza ON parole.id=appartenenza.id1 )

    se su campo devi riprendere sin2.id1 riscrivilo dopo And..

    Fammi sapere se ti va..
    Ciaoo

  3. #3
    grazie ho risolto quel problema, adesso
    codice:
    SELECT DISTINCT nome FROM parole as parole1 JOIN sinonimi as sin1 ON parole1.id=sin1.id1  where sin1.id2=10 UNION SELECT DISTINCT nome FROM parole as parole2 JOIN sinonimi as sin1 ON parole2.id=sin1.id2  where sin1.id1=10 AND nome NOT IN( SELECT DISTINCT nome FROM parole as parole1 JOIN sinonimi as sin1 ON parole1.id=sin1.id1  JOIN appartenenza as ap1 on parole1.id=ap1.id1 join appartenenza as ap2 on ap1.id2=ap2.id2 where sin1.id2=10 AND ap2.id1=10 UNION SELECT DISTINCT nome FROM parole as parole2 JOIN sinonimi as sin1 ON parole2.id=sin1.id2  JOIN appartenenza as ap1 on parole2.id=ap1.id1 join appartenenza as ap2 on ap1.id2=ap2.id2 where sin1.id1=10 AND ap2.id1=10)
    non capisco perché non mi elimina una parola "stampella" che è inclusa sia nella prima parte della query che nella seconda dopo il not in...
    Se incontrerai qualcuno persuaso di sapere tutto e di essere capace di fare tutto, non potrai sbagliare: costui è un imbecille.
    Confucio.

  4. #4
    se è inclusa anche nella prima query è normale che esca perchè stai facendo una query di unione
    il Not In funziona solo sulla seconda query che hai fatto.

  5. #5
    aiha...e come posso fare per includerle entrambe? (grazie mille )
    Se incontrerai qualcuno persuaso di sapere tutto e di essere capace di fare tutto, non potrai sbagliare: costui è un imbecille.
    Confucio.

  6. #6
    scusate...sono stupido...metto not in anche nella prima query...grz!!!
    Se incontrerai qualcuno persuaso di sapere tutto e di essere capace di fare tutto, non potrai sbagliare: costui è un imbecille.
    Confucio.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.