• User Newbie

    query mi aiutate per favore

    Ciao a tutti sono nuovo di questo forum e spero tanto che mi possiate aiutare.
    Devo fare la seguente interrogazione:
    "Elencare tutte le coppie di acquirenti che hanno comperato un bene dallo stesso venditore e che si sono scambiati almeno un messaggio di posta privata"

    Le tavole che ho preso in considerazione sono le seguenti:
    COMPRA(Acquirente, Bene)

    VENDE(*Venditore,Bene,*DataInserzione)
    MESSAGGIO(*Id_messaggio,*Oggetto,Testo,Mittente,Timestamp)
    RICEVE(Acquirente,Messaggio)

    Io ho provato a scriverla ma mi da errore e sinceramente non so se sta scritta bene aldilà della sintassi.

    select distinct C.Acquirente as Acquirente1, C2.Acquirente as Acquirente2, Venditore from compra C join vende V on C.Bene = V.Bene join compra C2 on C2.Bene = V.Bene where C.Acquirente <> C2.Acquirente group by C.Acquirente in (select M.Mittente, R.Acquirente as Destinatario from messaggio M join riceve R on M.Id_messaggio = R.Messaggio)


  • User Attivo

    Ciao, secondo me è un problema di struttura delle tabelle
    la formazione del db è il 50 per cento di un buon lavoro
    Ciao


  • User Newbie

    Cioè mi stai dicendo che da come ho formulato io il database non è possibile fare quel tipo di interrogazione?


  • User Attivo

    Ciao, cosa iintendi pero coppie, inoltre il messaggio di posta privata tra chi
    acquirente-venditore, oppure acquirente-acquirente
    Non ho capito bene il risultato che ne deve uscire
    Ciao


  • User Newbie

    I messaggi possono essere inviati solo tra acquirenti -acquirenti ...
    Coppie intese come mittente e destinatario in questo senso qua

    Per farti capire meglio il fatto dei messaggi ti faccio un esempio
    TAVOLA MESSAGGIO
    Id_messaggio =1
    Ogetto=Ciao
    Testo:Ciao ma a te è arrivato il bene che hai acquistato?
    Mittente: [email protected]

    TAVOLA RICEVE
    Acquirente: [email protected](che poi sarebbe il destinatario)
    Id_messaggio:1