Sql 选择仅在提供的日期范围内有记录的记录
在父子表场景中,子表包含日期时间列,我只选择那些子记录仅在提供的日期范围内的父记录 e、 g.Cart-Cart Details在Cart Details中有一个DateAdded列,我想选择本周仅添加了日期的所有Cart记录 比如:Sql 选择仅在提供的日期范围内有记录的记录,sql,sql-server,tsql,Sql,Sql Server,Tsql,在父子表场景中,子表包含日期时间列,我只选择那些子记录仅在提供的日期范围内的父记录 e、 g.Cart-Cart Details在Cart Details中有一个DateAdded列,我想选择本周仅添加了日期的所有Cart记录 比如: SELECT * FROM Cart JOIN CartDetail ON CartDetail.CartId = Cart.Id ??? 我不确定如何选择CartDetail.DateAdd仅在提供的日期范围内的购物车记录。您可以使用“不存在”: 我相信,这
SELECT *
FROM Cart
JOIN CartDetail ON CartDetail.CartId = Cart.Id
???
我不确定如何选择CartDetail.DateAdd仅在提供的日期范围内的购物车记录。您可以使用“不存在”:
我相信,这也将选择那些将有记录添加到以前的日期范围,以及只要在给定范围内至少有一个记录。我正在寻找在给定范围内只有儿童记录的文件。@fleat我刚刚意识到我的错误。更正!谢谢@Giorgos Betsos
SELECT *
FROM Cart AS c
INNER JOIN CartDetail AS cd ON cd.CartId = c.Id
WHERE cd.DateAdded BETWEEN @start_date AND @end_date
AND
NOT EXISTS (SELECT 1
FROM CartDetail AS cd2
WHERE cd2.CartId = c.Id AND
cd2.DateAdded < @start_date OR cd2.DateAdded > @end_date)