这是我的表格信息,
id points date
1 -50 30.09.2013
2 100 2.10.2013
3 100 3.10.2013
4 200 4.10.2013
从此我需要选择记录,如果任何值包含基于日期的减分
例如:
select *
from #__test
where date between 30.09.2013 to 3.10.2013
提到查询对于从两个日期之间的记录进入是很常见的。但是我需要两个日期之间的记录,如果任何值包含减去分数。
我该怎么做?请帮助我。
答案 0 :(得分:0)
我认为这就是你所追求的目标:
SELECT *
FROM #__test t
WHERE t.Date BETWEEN '20130930' AND '20131003'
AND EXISTS
( SELECT 1
FROM #__test t2
WHERE t2.Date BETWEEN '20130930' AND '20131003'
AND t2.points < 0
);
它只是检查日期范围内负值的存在,然后返回该日期范围的所有记录(如果找到)。
NB This article可能值得阅读有关使用BETWEEN
作为日期范围的信息,还有another article撰写的Aaron Bertrand日期范围查询的进一步阅读