要查找在特定日期没有借出视频的人数,您需要知道有多少人拥有一张卡,以及有多少人在特定日期有借出视频。
你似乎有两张桌子:
- 持卡人:卡号,...
- LoanItem: CardNo, ItemNo, DateIn, DateOut, ...
所以,持卡人的数量是:
SELECT COUNT(*) FROM CardHolder
2013 年 10 月 25 日有一件或多件物品被借出的人数为:
SELECT COUNT(DISTINCT CardNo)
FROM LoanItem
WHERE DATE '2013-10-25' BETWEEN DateOut AND DateIn
所以,你需要:
SELECT (SELECT COUNT(*) FROM CardHolder) -
(SELECT COUNT(DISTINCT CardNo)
FROM LoanItem
WHERE DATE '2013-10-25' BETWEEN DateOut AND DateIn
)
您可能需要为 SELECT 提供一个表——这取决于您的 DBMS。
SELECT (SELECT COUNT(*) FROM CardHolder) -
(SELECT COUNT(DISTINCT CardNo)
FROM LoanItem
WHERE DATE '2013-10-25' BETWEEN DateOut AND DateIn
)
FROM Dual;
或任何其他 1 行表。