首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于查询数据库中时间记要大于30天的记录

2012-11-06 
关于查询数据库中时间记录大于30天的记录?SQL2000下,假设有这么两张表表1存储用户的基本信息userid (主

关于查询数据库中时间记录大于30天的记录?
SQL2000下,假设有这么两张表  
表1存储用户的基本信息
"userid" (主键)
"用户姓名"
.
.
.
表2:存储所用用户的购买信息
"userid"
"时间"
我现在是想查询30天未购买东西的用户,下面这段是我昨天问到的答案,当时我觉得正确的! 最后发现这段代码内层查询到的userid是所有购买时间记录大于30天的userid.估计是我昨天表述不清楚!

SQL code
SELECT * FROM USERINFO WHERE userid IN               (SELECT userid               FROM BuyInformation               WHERE  DATEDIFF(day, 时间, GETDATE()) > 30              )


[解决办法]
select * from USERINFO a
 where not exists(select 1 from BuyInformation 
where userid=a.userid and DATEDIFF(day, 时间, GETDATE()) > 30)

热点排行