题目链接:点击打开链接
题目大意:略。
解题思路:略。
AC 代码
-- 解决方案(1)
SELECT book_id, name
FROM Books
WHERE book_id NOT IN (SELECT book_id
FROM Orders
WHERE DATEDIFF('2019-06-23', dispatch_date) < 365
GROUP BY book_id
HAVING SUM(quantity) >= 10
UNION
SELECT o.book_id
FROM Orders o JOIN Books b ON o.book_id = b.book_id
WHERE DATEDIFF('2019-06-23', available_from) < 30)
-- 解决方案(2)
select b.book_id, name
from books b left join orders o
on b.book_id = o.book_id and dispatch_date >= '2018-06-23'
where available_from < '2019-05-23'
group by b.book_id
having ifnull(sum(quantity), 0) < 10