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

    [sql] Trovare le non corrispondenze

    Due tabelle
    cornici
    | Id |

    quadri_cornici
    | id_cn | id_qd |
    id_cn è la relazione con la TB cornici


    Mi serve trovare le righe della tabella cornici che non ci sono nella tabella quadri_cornici e se ci sono che non abbiano un campo con un certo valore in id_qd (in questo esempio "13")

    Codice PHP:
    SELECT cn.Id AS id_cnqdcn.id_cn AS id_cn_rqdcn.id_qd AS id_qd_r 
    FROM cornici 
    AS cn 
    INNER JOIN quadri_cornici 
    AS qdcn 
    ON cn
    .Id <> qdcn.id_cn OR (cn.Id qdcn.id_cn AND qdcn.id_qd <> 13
    WHERE qdcn.id_qd <> 13 
    Questa mi trova anche le righe con id_qd di quadri_cornici con "13"


    Sarà le troppe ore passate davanti al PC ma non ne vengo fuori...
    Qualche idea?

  2. #2


    ho letto la select e mi sembrava giusta poi per scrupolo mi sono ricreato le tabelle ed eseguendo la query funziona


    Michele Castellucci
    Sviluppatore Web del Consorzio CottonBit
    Consorzio Cottonbit
    Risorse per la programmazione
    Dire Fare Programmare!

  3. #3
    Forse mi sono spiegato male prima. O meglio ero rinco.. da tante prove fatte
    Mi serviva togliere dalla selezione tutte le cornici già accoppiate ad un quadro (es il 13) nella tabella quadri_cornici (che serve da relazione tra le due tabelle)

    Codice PHP:
    SELECT FROM cornici WHERE Id NOT IN (SELECT id_cn FROM quadri_cornici WHERE id_qd 13
    Con questa la selezione mi sembra corretta, con l'INNER JOIN mi restituiva una cornice accoppiata al 13 se questa era accoppiata anche a qualche altro quadro, giustamente

    Grazie per il tuo impegno comunque!

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