SELECT * FROM [qds157058641_db].[dbo].[kqdaochu] where username ='5022' 字段:edate 日期 stime 时间
我想找出,2015-11-1到2015-11-6 并且 2015-11-1到2015-11-6 stime 都=空谢谢
我想找出,2015-11-1到2015-11-6 并且 2015-11-1到2015-11-6 stime 都=空谢谢
解决方案 »
- 建函数问题_如何返回父id?
- SET TRANSACTION ISOLATION LEVEL SERIALIZABLE用这个不灵啊
- sql_server 2K 附加数据库问题请教
- sql server表能承担多少条记录,每天一百万条记录,Sql server还能承受啊?
- 这个查询结果如何得如呀
- 非常奇怪的游标问题,请高手解决!!!!!!!!
- 本机SQL7.0数据库中的表数据,如何实现同公网上的orcal数据库实时同步!?
- 急急急急急急急急急急急急!!!!
- 如何解决不同服务器上数据表的转移!!!
- 一个简单的update问题
- 求sqlserver安装包,可视化界面那种,网上的都是广告,实在不知道下哪个
- sql 多表联合统计问题
and stade between '2015-11-1' and '2015-11-6' and stime=''delete FROM [qds157058641_db].[dbo].[kqdaochu] where username ='5022'
and stade between '2015-11-1' and '2015-11-6' and stime=''
DECLARE @kqdaochu TABLE(
id int identity,
username varchar(10),
edate date,
stime time
)INSERT INTO @kqdaochu(username,edate,stime)
SELECT '5022','2015-11-01',NULL UNION ALL
SELECT '5022','2015-11-02',NULL UNION ALL
SELECT '5022','2015-11-03',NULL UNION ALL
SELECT '5022','2015-11-04',NULL UNION ALL
SELECT '5022','2015-11-05',NULL-- 参数
DECLARE @dt1 date
DECLARE @dt2 date
SET @dt1 = '2015-11-01'
SET @dt2 = '2015-11-06';WITH a AS (
/* 统计时间段内的状态:
* 如果时间段内没记录,SELECT/UPDATE 本来就没有相关记录;
* 如果 cnt = 0,说明“stime 都=空”;
* 如果 cnt <> 0,说明至少有一个stime非空。
*/
SELECT username,
COUNT(stime) cnt
FROM @kqdaochu
WHERE edate BETWEEN @dt1 AND @dt2
GROUP BY username
)
-- 这是 SELECT,DELETE 是一样的条件
SELECT k.*
FROM @kqdaochu k,
a
WHERE k.edate BETWEEN @dt1 AND @dt2
AND a.cnt = 0
id username edate stime
----------- ---------- ---------- ------------
1 5022 2015-11-01 NULL
2 5022 2015-11-02 NULL
3 5022 2015-11-03 NULL
4 5022 2015-11-04 NULL
5 5022 2015-11-05 NULL
简单内容就不贴了。