列出与客户2010年、2011年、2012年以前购买的图书相同类别的所有图书的标题,不包括客户以前购买的书籍

  • 本文关键字:客户 标题 不包括 2010年 2011年 2012年 同类 sql
  • 更新时间 :
  • 英文 :


在OracleSQL中,我尝试过这样做来获取2010年的输出,只是为了检查一下,它可以工作,但无法同时获得所有的答案

SELECT title FROM books WHERE category IN (SELECT DISTINCT category FROM b_books
JOIN orderitems USING ( isbn )
JOIN orders USING ( order# )
WHERE customer# = 2010) AND isbn NOT IN (SELECT isbn
FROM orders
JOIN orderitems USING ( order# ) WHERE customer# = 2010 );

但我尝试了很多方法,使用"AND"、"逗号"和其他方法同时获得201020112012,但无法获得输出。那么,你能帮我吗?

我试过你的代码,做了一些调整:

SELECT title 
FROM books 
WHERE category IN (SELECT DISTINCT category 
FROM books
JOIN orderitems USING (isbn)
JOIN orders USING (order#)
WHERE customer# = 2010) 
AND isbn NOT IN (SELECT DISTINCT isbn
FROM books
JOIN orderitems USING (isbn)
JOIN orders USING (order#)
WHERE customer# = 2010);

最新更新