我有一个表,其中包含正在审核的列表,另一个表记录了哪些列表已经审核,以及它们被审核的日期
我正在尝试确定是否有可能形成一个mysql查询,允许我只输出尚未审查的列表(即在已审查的表中没有该列表的条目)。
所以在下面的例子中。我想要查询listing表,以查找任何尚未审查的列表。在本例中,它将只返回第一个列表(id#1),因为其他两个列表已经过审查。这是应该通过MySQL连接来完成的吗?
Listings Table:
id|title
1|First Listing
2|Second Listing
3|Third Listing
etc.
Reviewed Table:
id|listing_id|review_date
1|2|2013_02_05
2|3|2013_02_05发布于 2013-02-05 08:11:13
您可以像这样使用LEFT JOIN和NULL:
SELECT L.*
FROM Listings L
LEFT JOIN Reviewed R ON L.Id = R.Listing_Id
WHERE R.Id IS NULL或者,您可以使用NOT IN
SELECT L.*
FROM Listings L
WHERE ID NOT IN (SELECT Listing_ID FROM Reviewed)这是SQL Fiddle。
祝好运。
https://stackoverflow.com/questions/14698037
复制相似问题