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

    Query SQL su due tabelle

    Scusate l'inesperienza ma sicuramente la cosa sarà banale ma non per me visto la poca conoscenza delle basi di dati.
    Andando subito al dunque vi spiego subito il mio problema.
    Ho due tabelle FILES e INVIATI. Nella prima tabella sono dei file che vengono caricati su un server da un utente mentre nella tabella INVIATI ci sono tutti gli utenti ai quali è stato già inviato il file.
    In pratica un utente effettua una richiesta al DB chiedendo quali file ci sono per lui. Quindi il server attraverso la query dovrebbe restituire l'elenco di tutti i FILES che ancora non ha ricevuto. Ovviamente devono essere restituite tutte le righe che non sono state inserite dall'utente stesso e che non abbia già ricevuto il file. Spero di aver spiegato bene il problema.
    Grazie.
    www.puntalecastella.it
    www.lecastella.eu

  2. #2
    Quote Originariamente inviata da hunterbit Visualizza il messaggio
    Scusate l'inesperienza ma sicuramente la cosa sarà banale ma non per me visto la poca conoscenza delle basi di dati.
    Andando subito al dunque vi spiego subito il mio problema.
    Ho due tabelle FILES e INVIATI. Nella prima tabella sono dei file che vengono caricati su un server da un utente mentre nella tabella INVIATI ci sono tutti gli utenti ai quali è stato già inviato il file.
    In pratica un utente effettua una richiesta al DB chiedendo quali file ci sono per lui. Quindi il server attraverso la query dovrebbe restituire l'elenco di tutti i FILES che ancora non ha ricevuto. Ovviamente devono essere restituite tutte le righe che non sono state inserite dall'utente stesso e che non abbia già ricevuto il file. Spero di aver spiegato bene il problema.
    Grazie.
    ciao,
    indica la struttura delle tabelle..
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2014
    residenza
    Genova, presenza costante a Milano
    Messaggi
    100
    Spiegato così, ti suggerirei di usare una tabella sola, aggiungendo un campo "inviato" che può essere impostato a 0 o a 1.

    Se proprio non puoi o non vuoi fare così, ti serve l'istruzione UNION:

    http://dev.mysql.com/doc/refman/5.6/en/union.html

  4. #4
    non conoscendo la struttura immagino qualcosa del genere

    SELECT F.FileName FROM TabellaFiles F LEFT JOIN (SELECT * FROM TabellaInviati WHERE ID_Utente='utente') I ON F.ID_File=I.ID_File
    WHERE I.ID_File IS NULL

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.