Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Interrogazione sql

  1. #1

    Interrogazione sql

    Ciao, sto studiando sql e facendo un po di esercizi:
    Ho un problema su due:
    ho questo shema relazionale:
    Turista (Id_Turista,Nazione,Anno_Nascita)
    Ha_visitato(Turista,Cittā,Anno)
    Si_Trova_In(Cittā,Nazione)

    Ho trovato le chiavi primarie: Id_turista per entitā Turista, (turista e cittā) per Ha_visitato , e cittā per Si_trova_In.
    devo tradurre le seguenti frasi:
    1)i turisti che hanno visitato almeno una cittā polacca prima del 1979 e la loro eta nell'anno di visitā: io ho fatto cosi:
    SELECT: DISTINCT TURISTA, ANNO - ANNO_NASCITA AS ETA
    FROM HA_VISITATO NATURAL JOIN TURISTA
    WHERE NAZIONE = POLONIA AND ANNO < 1979
    dovrebbe essere corretta ho dei dubbi su la loro etānell'anno di visita,

    2)i turisti che hanno visitato esattamente le stesse cittā
    SELECT T1.TURISTA,T2.TURISTA
    FROM HA_VISITATO AS T1, HA_VISITATO AS T2
    WHERE T1.TURISTA <> T2.TURISTA
    questa non so come andare avanti.Avete qualche consiglio?
    Grazie in anticipo
    saluti Matteo

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    In funzione del DB che usi la prima č piu o meno cosi
    codice:
    SELECT 
    Turista.Id_Turista, 
    Ha_visitato.Cittā, 
    Si_Trova_In.Nazione, 
    Ha_visitato.Anno-Turista.Anno_Nascita AS Eta, 
    Ha_visitato.Anno
    FROM Turista 
    INNER JOIN 
    (
    Si_Trova_In 
    INNER JOIN 
    Ha_visitato 
    ON 
    Si_Trova_In.Cittā = Ha_visitato.Cittā
    ) 
    ON 
    Turista.Id_Turista = Ha_visitato.Turista
    
    WHERE 
    (
    ((Si_Trova_In.Nazione)="Polonia") 
    AND 
    ((Ha_visitato.Anno)<1979)
    )
    ;




    Originariamente inviato da matteoqwerty
    Ha_visitato(Turista,Cittā,Anno)
    2)i turisti che hanno visitato esattamente le stesse cittā
    Questa a quest'ora di notte mi sembra difficile

    Faccio un esempio
    Turista --------- Citta
    - Maria --------- Londra
    - Maria --------- Berlino
    - Giuseppe ---- Londra
    - Giuseppe ---- Berlino
    - Luisa --------- Londra
    - Luisa --------- Berlino
    - Luisa --------- Parigi
    - Marco ---------Londra

    Tu vuoi estrarre Maria e Giuseppe Giusto ??

    Per il momento non saprei come fare usando solo SQL ( senza cicli )
    ma una soluzione deve esserci
    Magari qualcuno piu esperto puo darci una mano


    .

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.