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

    [SQL] esercizio con subquery

    Ciaoo,
    ho un problema con questo esercizio:

    Si considerino i seguenti schemi di relazione
    Prenotazioni(CodCli, CodAl, Acconto, Camera)
    Clienti(CodCli, Nome, Cognome, Eta)
    Alberghi(CodAl, Città, Via)
    dove nella relazione Prenotazioni gli attributi CodCli e CodAl formano la chiave primaria, CodCli è chiave esterna per la relazione Clienti e CodAl è chiave esterna per la relazione Alberghi. Nella relazione Clienti l'attributo CodCli è la chiave primaria mentre nella relazione Alberghi la chiave primaria è CodAl.
    Si noti che un cliente può fare più prenotazioni e uno stesso albergo può essere prenotato da diversi clienti.

    Scrivere le istruzioni SQL che permettono di visualizzare il numero di prenotazioni effettuate nella città di Milano. Io l'avrei risolto cosi':

    SELECT count(*) as nprenotazioni
    FROM prenotazioni, Clienti, Alberghi
    WHERE ( Prenotazioni.CodAl=Alberghi.CodAl) AND citta=milano

    in realta' la soluzione usa una subquery:
    SELECT count(*) as nprenotazioni
    FROM prenotazioni
    WHERE CodAl IN (SELECT CodAl FROM Alberghi WHERE Citta=Milano)

    Perche' usa la subquery? non si puo' risolvere senza?
    Grazie mille!

  2. #2
    Ciao,

    Mi sembra che la tua query puo funzionare...

    Per toglierti tutti i dubbi cosa c'e di meglio di provarla?

    Un unica cosa.. Nella tua query nel from metti anche la tabella clienti ma come noti anche tu non la usi mai...

    Quindi quella puoi toglierla.
    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
    grazie mille per avermi risposto, non sapevo piu' cosa fare! grazie!
    ciaoo!

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.