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

    [SQL] Aiuto per una query

    Ciao a tutti avrei bisogno di una mano per risolvere questa query:
    Esercizio 1. Si consideri lo schema relazionale seguente, relativo ad una base di dati di gestione ordini per consegne di pizze a domicilio (le chiavi primarie delle relazioni sono sottolineate):
    CLIENTE (Nr.telefono, Nome, Indirizzo)
    ORDINE (Nr.telefono, Codice-Pizza, Codice-Operatore, Data, Costo)
    PIZZA (Codice-Pizza, Nome, Prezzo)
    Si richiede di formulare in SQL quanto segue:
    • determinare per ogni operatore e ogni pizza il costo totale degli ordini effettuati;
    • determinare il nome dei clienti che hanno ordinato pizze ad almeno due operatori diversi;

    Vi ringrazio in anticipo

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Essendo un esercizio ha poco senso che ti venga data tutta la soluzione. Si tratta di banali query di raggruppamento in cui devi usare le funzioni di aggregazione sum() e count() e per quel che riguarda la seconda, una volta effettuato il raggruppamento, usi la clausola having count(codice_operatore) > 1.

    Prova a buttare giù qualcosa per conto tuo e posta quanto fatto.

  3. #3
    il primo punto l'ho risolto da me

    per il secondo punto ho scritto questo codice:
    codice:
    select c.nome from ordine o join cliente c on o.nrtelefono=c.nrtelefono
    group by c.nome having count(codiceoperatore)>1 ;
    ma con count(codiceoperatore)>1 seleziona tutte le tuple che hanno eseguito più di 1 ordine
    io voglio selezionare i clienti che hanno eseguito ordini ad almeno due operatori diversi

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    ... having count(distinct(codiceoperatore))>1

  5. #5
    grazie, non sapevo si potesse usare il distinct così

    grazie veramente tanto!

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.