这样的查询在Access中该如何实现?
例:用户表[users]:username-用户名,startdate-开户日期,enddate-销户日期,state-用户状态.
说明: 1).username为主键,且被其它表作为外键引用
2).state=1 代表用户状态正常;state=2 代表用户已注销
3).enddate 不为空且 state=1 的记录表示该用户曾经已注销现在又重新开户.
问题:查询用户记录,要求业主状态已注销的显示销户日期,而业主状态正常的不能显示销户日期(将重新开户的销户日期屏蔽).
假设表中有如下记录:
username startdate enddate state
aaa 2006-1-1 1
bbb 2006-3-4 2006-12-20 2
ccc 2006-10-7 2006-4-3 1
需要得到如下结果:
username startdate enddate state
aaa 2006-1-1 1
bbb 2006-3-4 2006-12-20 2
ccc 2006-10-7 1
我仅知道在MSSQL中可以这样查询得出结果: select username,startdate,enddate = case state when 1 then null when 2 then enddate end,state from users
但是在Access中该如何实现呢?请高手帮忙!
(前提:由于username被外表引用所以不能删除后重新添加记录.)
------解决方案--------------------select [username],startdate,iif(state=1,null,enddate) as enddate1,state from users