Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-01-2013, 08:51   #1
zanardi84
Senior Member
 
L'Avatar di zanardi84
 
Iscritto dal: Apr 2004
Città: La regione del Triplete
Messaggi: 5751
[SQL] mi aiutate con la query?

Ho un DB con questo schema:
Cliente(id, cognome, nome). Pk id
Album(titolo, cantante, genere) pk titolo
Cassetta(id, titolo) pk id
CD(id, titolo) pk id
Acquisto(idcdocas, cliente, dataacq) pk idcdocas cliente dataacq

Per semplicità ammetto che il titolo delle canzoni sia univoco e ho solo il titolo come chiave.

Devo trovare, tra tutti quelli che hanno comprato un album sia di blues sia di jazz, i clienti che hanno comprato solo cassette di jazz e solo CD di blues.

Per ora sono riuscito, lavorando sulla tabella acquisto, CD e cassetta, a trovare, via intersezione, i clienti che hanno comprato sia di blues che di jazz... ne ho fatto una vista.

Ora come trovo quelli richiesti?

Inviato dal mio ASUS Transformer Pad TF300T con Tapatalk 2
__________________
Trattative felicemente concluse con domienico120, xbax88 ed engiel, ottimi e seri utenti.
zanardi84 è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2013, 09:04   #2
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da zanardi84 Guarda i messaggi
Ho un DB con questo schema:
Cliente(id, cognome, nome). Pk id
Album(titolo, cantante, genere) pk titolo
Cassetta(id, titolo) pk id
CD(id, titolo) pk id
Acquisto(idcdocas, cliente, dataacq) pk idcdocas cliente dataacq
Sì ma così fa cacare... e se un cd e una cassetta hanno lo stesso id? Non puoi fare una tabella "Supporto" con (id, titolo, formato), dove formato può essere CD/Cassetta?
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2013, 10:06   #3
zanardi84
Senior Member
 
L'Avatar di zanardi84
 
Iscritto dal: Apr 2004
Città: La regione del Triplete
Messaggi: 5751
Credo che stia proprio lì la difficoltà dell'esercizio..
Sulle chiavi credo che sia sottinteso che bluray e DVD abbiano id differenti tipo br01 e d09.

Inviato dal mio ASUS Transformer Pad TF300T con Tapatalk 2
__________________
Trattative felicemente concluse con domienico120, xbax88 ed engiel, ottimi e seri utenti.
zanardi84 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 09:28   #4
zanardi84
Senior Member
 
L'Avatar di zanardi84
 
Iscritto dal: Apr 2004
Città: La regione del Triplete
Messaggi: 5751
Credo di aver trovato la soluzione:
I clienti che hanno comprato una cassetta di jazz si trovano nell'insieme di quelli che hanno comprato una cassetta di jazz e nello stesso tempo NON si trovano nell'insieme di quelli che hanno comprato un cd di jazz.
Allo stesso modo i clienti che hanno comprato un cd di blues si trovano nell'insieme di quelli che hanno comprato un cd di blues e nello stesso tempo NON si trovano nell'insieme di quelli che hanno comprato una cassetta di blues.
L'intersezione tra i due insiemi ottenuti restituisce i clienti che hanno comprato solo cassette di jazz e solo cd di blues, tra quelli che hanno comprato dischi di quei due generi indipendentemente dal formato selezionati con la vista di cui parlavo sopra.

Riporto il codice così mi dite se è tutto giusto:

La vista

Codice:
create view clientientrambiigeneri (codice) as
(select cliente from acquisto a inner join cd on a.idcdocas = cd.id inner join album al on cd.titolo = al.titolo 
where al.genere = "blues"
intersect
select cliente from acquisto a inner join cassetta c on a.idcdocas = c.id inner join album al on c.titolo = al.titolo 
where al.genere = "jazz"
)
la query

Codice:
select c.id, c.cognome, c.nome from cliente c inner join clientientrambiigeneri g on c.id = g.codice
where g.codice in 
(select n.cliente from acquisto a inner join cassetta c on a.idcocas = c.id inner join album al on c.titolo = al.titolo 
where al.genere = "jazz")
and g.codice not in 
(select n.cliente from acquisto a inner join cd on a.idcocas = cd.id inner join album al on cd.titolo = al.titolo 
where a.-genere = "jazz")

intersect 

select c.id, c.cognome, c.nome from cliente c inner join clientientrambiigeneri g on c.id = g.codice
where g.codice in 
(select n.cliente from acquisto a inner join cd on a.idcocas = cd.id inner join album al on cd.titolo = al.titolo 
where al.genere = "blues")
and g.codice not in 
(select n.cliente from acquisto a inner join cassetta c on a.idcocas = c.id inner join album al on c.titolo = al.titolo 
where al.genere = "blues")
__________________
Trattative felicemente concluse con domienico120, xbax88 ed engiel, ottimi e seri utenti.
zanardi84 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 19:58   #5
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Non so se è giusto...
Codice:
(
select Acquisto.cliente
from Acquisto inner join CD on Aquisto.idcdocas = CD.id
              inner join Album on CD.titolo = Album.titolo
where Album.genere = "blues"

intersect

select Acquisto.cliente
from Acquisto inner Cassetta on Aquisto.idcdocas = Cassetta.id
              inner join Album on Cassetta.titolo = Album.titolo
where Album.genere = "jazz"
)
except
(
select Acquisto.cliente
from Acquisto inner join CD on Aquisto.idcdocas = CD.id
              inner join Album on CD.titolo = Album.titolo
where Album.genere = "jazz"

union

select Acquisto.cliente
from Acquisto inner Cassetta on Aquisto.idcdocas = Cassetta.id
              inner join Album on Cassetta.titolo = Album.titolo
where Album.genere = "blues"
)
wingman87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:12.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v