SQL中的case when 在access中怎么实现?
现在有两个表
表一(user):
UID 编号
UNAME 姓名
表二(yeji):
UID 编号
cj 金额
sign 是否成交(成交1 不成交0)
现在要做一个统计结果
希望显示的效果是:
UNAME CJ1(成交的金额) cj(金额) radio(成交比例)
要求: 表一中的UNAME中全部列出来(因为不一定每个人都有业绩的),结果按照CJ1降序排序
SQL语句可以这样实现:
select a.UID,UNAME,sum(case when sign=1 then cj else 0 end) CJ1,sum(cj) cj,sum(case when sign=1 then cj else 0 end)*1.0/sum(cj) radio from [User] a left Join [yeji] b on a.UID=b.UID group by a.UID,UNAME order by 3 desc
但现在的数据库是ACCESS ,access 中case when不可用,听说iff可用,但我试了,老报错,请问上面的语句在ACCESS中怎么实现呢
表一(user):
UID 编号
UNAME 姓名
表二(yeji):
UID 编号
cj 金额
sign 是否成交(成交1 不成交0)
现在要做一个统计结果
希望显示的效果是:
UNAME CJ1(成交的金额) cj(金额) radio(成交比例)
要求: 表一中的UNAME中全部列出来(因为不一定每个人都有业绩的),结果按照CJ1降序排序
SQL语句可以这样实现:
select a.UID,UNAME,sum(case when sign=1 then cj else 0 end) CJ1,sum(cj) cj,sum(case when sign=1 then cj else 0 end)*1.0/sum(cj) radio from [User] a left Join [yeji] b on a.UID=b.UID group by a.UID,UNAME order by 3 desc
但现在的数据库是ACCESS ,access 中case when不可用,听说iff可用,但我试了,老报错,请问上面的语句在ACCESS中怎么实现呢
...全文
相关推荐
Access与sql-server语法区别
Access与sql-server的详细语法区别,包括系统时间 、 连接字符串、条件取值、字段类型转换 、日期字符串等
sql学习之CASE WHEN THEN ELSE END的用法
主要介绍了sql学习之CASE WHEN THEN ELSE END的用法,需要的朋友可以参考下
sql数据库 转 Access SQL语句改写之 Case When Then When Then Else End
sql数据库 转 Access SQL语句改写之 Case When Then When Then Else End!值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net/
SQL Server 交叉表查询 case
今天下午忙于将access数据库中的交叉表转到SQL server数据库中,在SQL server中,不支持transfrom方法,查找相关资料,找到使用case方法进行转换
Access和SQL Server里面的SQL语句的不同之处
做了一个Winform的营养测量软件,来回的捣腾着Access数据库,还是那几句增删改查,不过用多了,发现Access数据库下的SQL语句和SQL Server下正宗的SQL还有有很大的不同。


