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

    [MySQL] query che fornisca risultati diversi a seconda di una condizione

    Ciao a tutti!
    scusate il titolo poco chiaro ma non è facile da spiegare...
    ho 4 tabelle: la prima contiene i nomi dei clienti (CLIENTI),la seconda contiene tutti i codici dei prodotti che vendo (PRODOTTI), la terza contiene i nomi dei clienti e i codici dei prodotti che hanno acquistato (ACQUISTI), l'ultima le preferenze del cliente cioè il prodotto che preferisce tra quelli che vendo (PREFERENZE). Questo significa che non tutti i clienti hanno un record in quest'ultima tabella (infatti ci sono solo ADA e MAX).
    Il problema è che io voglio, con una sola query, ottenere per ogni cliente l'elenco dei prodotti acquistati, ma solo se esso non ha espresso preferenze.
    In caso l'abbia espressa però io vorrei estrarre solo la coppia indicata come preferenza tralasciando gli altri acquisti.
    Ora quello che vi chiedo è: secondo voi è possibile fare una query del genere?
    Io non ho proprio idea di come procedere...
    Ho letto di funzioni per il controllo del flusso come CASE e IF ma non mi pare si adattino all'esigenza o cmq non so come usarle

    Ecco un esempio delle mie tabelle:

    CLIENTI
    nomecliente
    MAX
    GIO
    ADA

    PRODOTTI
    codprod
    1
    2
    3
    4
    5

    ACQUISTI
    nomeCliente codprod
    MAX 1
    MAX 3
    GIO 4
    GIO 1
    ADA 3
    ADA 4

    PREFERENZE
    nomeCliente codprod
    MAX 1
    ADA 4

  2. #2
    up

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.