Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    79

    Ricavare id non associati a niente

    Salve vi spiego il problema, ho 3 tabelle documenti, file, associazione_documenti_file
    questo mi permette di associare a un documento vari file.
    La tabella associazione_documenti_file è composta da due campi, id_documento_ass e id_file_ass
    Ora per prendere tutti gli id dei file associati per esempio al documento 1 è semplice:
    SELECT id_file_ass FROM associazione_documenti_file WHERE id_documento_ass = 1

    Ora se invece voglio ricavarmi tutti gli id presenti nella tabella file che non sono associati al documento 1 come faccio??

    Grazie dell aiuto.

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    WHERE id_documento_ass != 1

    spero di aver capito bene.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    79

    grazie ma non va cosi

    perchè se metto WHERE id_documento_ass != 1
    succede questo,
    facciamo esempio che i file sono 5 e al documento 1 sono associati i file 3 - 4 - 5
    quindi l associazione sarà:
    Documento - File
    1 3
    1 4
    1 5
    quindi i file che interessano a me, cioè quelli non associati al doc 1 sono i file 1 - 2
    se io faccio WHERE id_documento_ass != 1 se ad esempio i file 3 e 4 e 5 sono associati anke ad altri documenti mi compariranno anke loro nel risultato della query. perchè il documento a cui sono associati è diverso da 1. A me invece servono solo i file 1 - 2. Non so se mi sono spiegato bene. praticamente mi servono tutti i file che non sono presenti nelle associazioni con il documento 1.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Vedi se così va bene.
    codice:
    select * from tabella where file not in (select file from tabella where id_documento_ass = 1)
    Magari rinomina pure il campo di nome file nel caso si chiami proprio così.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    79

    Grazie cosi funziona :D

    SELECT * FROM file WHERE id_file NOT IN (SELECT id_file_ass FROM associazione_documenti_file WHERE id_documento_ass = 1)

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.