access如何实现sqlserver update from语句
sqlserver语句支持从另外一个表中获取数据执行更新当前表,即update set from语句。
如下面的示例
表A
档次 | 得分 | 金额 |
1 | 51 | |
1 | 49 | |
2 | 68 | |
2 | 32 |
表B
档次 | 得分上限 | 得分下限 | 金额 |
1 | 0 | 50 | 1000 |
1 | 51 | 100 | 1500 |
2 | 0 | 50 | 1800 |
2 | 51 | 100 | 2600 |
通过表B更新表A的金额字段,结果如下
档次 | 得分 | 金额 |
1 | 51 | 1500 |
1 | 49 | 1000 |
2 | 68 | 2600 |
2 | 32 | 1800 |
在mssqlserver数据库中可以执行下面的update from语句执行更新
update a set a.金额=b.金额 from b where a.档次=b.档次 and a.得分 between b.得分上限 and b.得分下限
由于access不支持update from语句,执行上面的语句会报错,语法错误(操作符丢失)在查询表达式"b.金额 from b"中。
access要实现update from语句,需要使用access特有的域函数,如dlookup,dsum,dcount,dmax,dmin,具体帮助自己调用access的帮助文档来查看使用方法。
上面的sqlserver update from语句,在access中运行可以修改为下面的语句。
update a set a.金额=dlookup("金额","b","b.档次="&a.档次&" and "&a.得分&" between b.得分上限 and b.得分下限")
加支付宝好友偷能量挖...