Microsoft Access:筛选出有缺陷的电影和已租借的电影
Microsoft Access: Filter out Movies with Faults, and movies that are already rented
我有一个电影业务数据库,其中有一张 DVD table(DVDID、标题、故障)和一张租借 table(RentalID、MemberID、DVDID、DateRented、DateReturned)。
我想查询以确定哪些电影可供租用。为此,需要排除 DVD table 中有故障的 DVD,以及租借中未归还的 DVD table。
已知当 DVD table 的 'Fault' 列中有内容时,DVD 会出现故障。如果该字段为空,则 DVD 没有故障。已知当租赁 Table.
的 'DateReturned' 字段中有内容时,DVD 会被退回
到目前为止,我已经设法排除了有缺陷的 DVD 并排除了租借中的 DVD table,但这需要改进,因此它只排除租借中的 DVD table 如果DateReturned 字段为 Null。
SELECT DVD.DVDID, DVD.Title, DVD.Rating, DVD.Genre, DVD.Released, DVD.RentalPeriod, DVD.Distributor, DVD.Faults
FROM DVD
WHERE (((DVD.Faults) Is Null) AND ((Exists (SELECT 1 FROM Rental WHERE Rental.DVDID = DVD.DVDID))=False));
有人知道我如何完成这个吗?
假设这会向您显示已租借但尚未归还的 DVD...
SELECT DVDID
FROM Rental
WHERE DateReturned Is Null;
将其用作子查询,然后 LEFT JOIN
您的 DVD
table 使用它。
SELECT
DVD.DVDID,
DVD.Title,
DVD.Rating,
DVD.Genre,
DVD.Released,
DVD.RentalPeriod,
DVD.Distributor,
DVD.Faults
FROM
DVD
LEFT JOIN
(
SELECT DVDID
FROM Rental
WHERE DateReturned Is Null
) AS sub
ON DVD.DVID = sub.DVID
WHERE
DVD.Faults Is Null
AND sub.DVID Is Null;
WHERE
条款中,DVD.Faults Is Null
排除有过错的,sub.DVID Is Null
排除已租未还的
我有一个电影业务数据库,其中有一张 DVD table(DVDID、标题、故障)和一张租借 table(RentalID、MemberID、DVDID、DateRented、DateReturned)。
我想查询以确定哪些电影可供租用。为此,需要排除 DVD table 中有故障的 DVD,以及租借中未归还的 DVD table。
已知当 DVD table 的 'Fault' 列中有内容时,DVD 会出现故障。如果该字段为空,则 DVD 没有故障。已知当租赁 Table.
的 'DateReturned' 字段中有内容时,DVD 会被退回到目前为止,我已经设法排除了有缺陷的 DVD 并排除了租借中的 DVD table,但这需要改进,因此它只排除租借中的 DVD table 如果DateReturned 字段为 Null。
SELECT DVD.DVDID, DVD.Title, DVD.Rating, DVD.Genre, DVD.Released, DVD.RentalPeriod, DVD.Distributor, DVD.Faults
FROM DVD
WHERE (((DVD.Faults) Is Null) AND ((Exists (SELECT 1 FROM Rental WHERE Rental.DVDID = DVD.DVDID))=False));
有人知道我如何完成这个吗?
假设这会向您显示已租借但尚未归还的 DVD...
SELECT DVDID
FROM Rental
WHERE DateReturned Is Null;
将其用作子查询,然后 LEFT JOIN
您的 DVD
table 使用它。
SELECT
DVD.DVDID,
DVD.Title,
DVD.Rating,
DVD.Genre,
DVD.Released,
DVD.RentalPeriod,
DVD.Distributor,
DVD.Faults
FROM
DVD
LEFT JOIN
(
SELECT DVDID
FROM Rental
WHERE DateReturned Is Null
) AS sub
ON DVD.DVID = sub.DVID
WHERE
DVD.Faults Is Null
AND sub.DVID Is Null;
WHERE
条款中,DVD.Faults Is Null
排除有过错的,sub.DVID Is Null
排除已租未还的