读书人

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

发布时间: 2012-11-06 14:07:00 作者: rapoo

关于查询数据库中时间记录大于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)

读书人网 >SQL Server

热点推荐