Jwalker
06-07-2009, 18:49
Salve. Ho un db così fatto
AUTO(TARGA,MARCA,MODELLO)
CLIENTE (CF,NOME,CITTA)
ACQUISTO (TARGA,CF,DATA,PREZZO,KM)
FK: TARGA REFERENCES AUTO
CF REFERENCES CLIENTE
e queste due query
Selezionare i CLIENTI che hanno acquistato tutte le auto (precedentemente o successivamente)
acquistate dal CLIENTE con cf ‘ABC’;
SELECT *
FROM CLIENTE CL
WHERE NOT EXISTS ( SELECT *
FROM ACQUISTO T1
WHERE T1.CF = ’ABC’
AND NOT EXISTS (SELECT *
FROM ACQUISTO T2
WHERE CL.CF = T2.CF
AND T1.TARGA = T2.TARGA))
Selezionare per ogni cf i prezzi delle due AUTO acquistate con minor numero di km.
SELECT T.CF, T.PREZZO
FROM ACQUISTO T
WHERE 2 >= ( SELECT COUNT(*)
FROM ACQUISTO T1
WHERE T.CF = T1.CF
AND T1.KM <= T.KM)
ma non riesco proprio a capirle.... :muro: :muro: C'è nessuno così gentile da aiutarmi?? :p
Ciao e grazie :)
AUTO(TARGA,MARCA,MODELLO)
CLIENTE (CF,NOME,CITTA)
ACQUISTO (TARGA,CF,DATA,PREZZO,KM)
FK: TARGA REFERENCES AUTO
CF REFERENCES CLIENTE
e queste due query
Selezionare i CLIENTI che hanno acquistato tutte le auto (precedentemente o successivamente)
acquistate dal CLIENTE con cf ‘ABC’;
SELECT *
FROM CLIENTE CL
WHERE NOT EXISTS ( SELECT *
FROM ACQUISTO T1
WHERE T1.CF = ’ABC’
AND NOT EXISTS (SELECT *
FROM ACQUISTO T2
WHERE CL.CF = T2.CF
AND T1.TARGA = T2.TARGA))
Selezionare per ogni cf i prezzi delle due AUTO acquistate con minor numero di km.
SELECT T.CF, T.PREZZO
FROM ACQUISTO T
WHERE 2 >= ( SELECT COUNT(*)
FROM ACQUISTO T1
WHERE T.CF = T1.CF
AND T1.KM <= T.KM)
ma non riesco proprio a capirle.... :muro: :muro: C'è nessuno così gentile da aiutarmi?? :p
Ciao e grazie :)