Voglio trovare i mutuatari che hanno preso tutti i tipi di prestito.I mutuatari che prendono tutti i prestiti usando NOT EXISTS
schema:
loan (number (PKEY), type, min_rating)
borrower (cust (PKEY), no (PKEY))
Esempio tabelle:
number | type | min_rating
------------------------------
L1 | student | 500
L2 | car | 550
L3 | house | 500
L4 | car | 700
L5 | car | 900
cust | no
-----------
Jim | L2
Tom | L1
Tom | L2
Tom | L3
Tom | L4
Tom | L5
Bob | L3
La risposta qui sarebbe "Tom".
Posso semplicemente contare il numero totale di prestiti e confrontare il numero di prestiti del mutuatario con quello, ma NON sono autorizzato a (questo è un esercizio di compiti a casa), ai fini di questo compito e apprendimento.
Volevo utilizzare la doppia negazione dove trovo prima i mutuatari che non hanno preso tutti i prestiti e trovano i mutuatari che non sono in quel set. Voglio usare il nesting con NOT EXISTS
dove trovo prima i mutuatari che non hanno preso tutti i prestiti ma non sono stato in grado di creare una query di lavoro per quello.
Pensa al problema in questo modo: non esiste un prestito che il prestito non ha. –
... che è * due * 'NOT EXISTS'. –
@GordonLinoff Sì, è quello che sto cercando di fare. Ma ho iniziato col cercare di trovare i clienti che non hanno preso tutti i prestiti usando 'SELECT b.cust FROM borrower b, loan l WHERE l.no = b.number AND NOT EXISTS (SELECT * FROM loan)' e questo non è corretto quindi mi stavo chiedendo dove dovrei sistemarlo. – maregor