Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 选择仅在提供的日期范围内有记录的记录_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 选择仅在提供的日期范围内有记录的记录

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仅在提供的日期范围内的购物车记录。您可以使用“不存在”: 我相信,这

在父子表场景中,子表包含日期时间列,我只选择那些子记录仅在提供的日期范围内的父记录

e、 g.Cart-Cart Details在Cart Details中有一个DateAdded列,我想选择本周仅添加了日期的所有Cart记录

比如:

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)