Last active
December 15, 2015 08:49
-
-
Save MarkyC/5233719 to your computer and use it in GitHub Desktop.
Select all cities were no one in the city has purchased a book in French
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| -- Returns CID's of customers that have never purchased a book in French | |
| -- I need something like | |
| -- SELECT C3.city FROM yrb_customer C WHERE c3.cid = c2.cid | |
| -- (this doesn't work though) | |
| SELECT DISTINCT C2.cid | |
| FROM | |
| yrb_customer C2, | |
| yrb_purchase P, | |
| yrb_book B | |
| WHERE | |
| P.cid = C2.cid AND | |
| P.title = B.title AND | |
| P.year = B.year | |
| EXCEPT | |
| SELECT DISTINCT C.cid | |
| FROM | |
| yrb_customer C, | |
| yrb_purchase P, | |
| yrb_book B | |
| WHERE | |
| P.cid = C.cid AND | |
| P.title = B.title AND | |
| P.year = B.year AND | |
| B.language = 'French'; |
Author
Author
SELECT DISTINCT C3.city
FROM (
SELECT DISTINCT C2.cid
FROM
yrb_customer C2,
yrb_purchase P,
yrb_book B
WHERE
P.cid = C2.cid AND
P.title = B.title AND
P.year = B.year
EXCEPT
SELECT DISTINCT C.cid
FROM
yrb_customer C,
yrb_purchase P,
yrb_book B
WHERE
P.cid = C.cid AND
P.title = B.title AND
P.year = B.year AND
B.language = 'French';
) AS Customer
JOIN yrb_customer C3 ON C3.cid = Customer.cid;
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Error:
SELECT DISTINCT C.city FROM yrb_customer C, WHERE C.cid NOT IN ( SELECT C2.cid FROM yrb_customer C2, yrb_purchase P, yrb_book B WHERE P.cid = C2.cid AND P.title = B.title AND P.year = B.year AND B.language = 'French')
SQL0104N An unexpected token "." was found following "_customer C, WHERE C".
Expected tokens may include: "HAVING". SQLSTATE=42601