access 查询修改字段怎么写?

ZJCCCC 2013-07-04 03:19:18
我有一个表:

ID 标题

1 【买4赠1本品 免邮】飞鹤飞帆1段婴幼儿配方奶粉900g 听装
2 飞鹤飞帆2段婴幼儿配方奶粉三联包1.2kg特惠装(不参加买送)
3 【买4赠1本品 免邮】飞鹤飞帆2段婴幼儿配方奶粉400g盒装 湿法
4 【聚】飞鹤飞帆抵抗力婴幼儿配方奶粉900g听装
5 【买4赠1本品 免邮】飞鹤飞帆新3段抵抗力婴幼儿奶粉 900g听



将表中包含“飞帆”并且包含“1段”并且包含“900g”的标题改成“飞帆1段900g”
将表中包含“飞帆”并且包含“抵抗力”并且包含“900g”的标题改成“飞帆抵抗力900g”
将表中包含“飞帆”并且包含“2段”并且包含“三联包”的标题改成“飞帆2段三联包”
将表中包含“飞帆”并且包含“2段”并且包含“400g”的标题改成“飞帆2段400g”

如下表:

ID 标题

1 飞帆1段900g
2 飞帆2段三联包
3 飞帆2段400g
4 飞帆抵抗力900g
5 飞帆抵抗力900g


请问怎么操作,怎么写语句?

另外还有一个问题,在access中查询设计里面的更新,是不是只更新查询的结果,不更新原数据库?

...全文
517 点赞 收藏 22
写回复
22 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ZJCCCC 2013-07-08
条件加好了,之前是因为引号的问题,我以为不是加在这,谢谢了
回复
wwwwb 2013-07-08
SELECT [宝贝标题], sum(IIf(month([订单创建时间])=1,[总金额],0)) AS 一月, sum(IIf(month([订单创建时间])=2,[总金额],0)) AS 二月, sum(IIf(month([订单创建时间])=3,[总金额],0)) AS 三月, sum(IIf(month([订单创建时间])=4,[总金额],0)) AS 四月, sum(IIf(month([订单创建时间])=5,[总金额],0)) AS 五月, sum(IIf(month([订单创建时间])=6,[总金额],0)) AS 六月, sum(IIf(month([订单创建时间])=7,[总金额],0)) AS 七月, sum(IIf(month([订单创建时间])=8,[总金额],0)) AS 八月, sum(IIf(month([订单创建时间])=9,[总金额],0)) AS 九月, sum(IIf(month([订单创建时间])=10,[总金额],0)) AS 十月, sum(IIf(month([订单创建时间])=11,[总金额],0)) AS 十一月, sum(IIf(month([订单创建时间])=12,[总金额],0)) AS 十二月 FROM 数据表 where 平台名称=“分销” GROUP BY [宝贝标题];
回复
ZJCCCC 2013-07-08
请问 SELECT [宝贝标题], sum(IIf(month([订单创建时间])=1,[总金额],0)) AS 一月, sum(IIf(month([订单创建时间])=2,[总金额],0)) AS 二月, sum(IIf(month([订单创建时间])=3,[总金额],0)) AS 三月, sum(IIf(month([订单创建时间])=4,[总金额],0)) AS 四月, sum(IIf(month([订单创建时间])=5,[总金额],0)) AS 五月, sum(IIf(month([订单创建时间])=6,[总金额],0)) AS 六月, sum(IIf(month([订单创建时间])=7,[总金额],0)) AS 七月, sum(IIf(month([订单创建时间])=8,[总金额],0)) AS 八月, sum(IIf(month([订单创建时间])=9,[总金额],0)) AS 九月, sum(IIf(month([订单创建时间])=10,[总金额],0)) AS 十月, sum(IIf(month([订单创建时间])=11,[总金额],0)) AS 十一月, sum(IIf(month([订单创建时间])=12,[总金额],0)) AS 十二月 FROM 数据表 GROUP BY [宝贝标题]; 这个语句我想加个条件应该加在哪个地方? 条件为:where 平台名称=“分销”
回复
ZJCCCC 2013-07-05
谢谢,解决了。
回复
WWWWA 2013-07-05
修改字段类型为MONEY OR FORMAT(sum(IIf(month([订单创建时间])=1,[总金额],0)),''########.##'')
回复
ZJCCCC 2013-07-05
版主,还有一个小问题请教



查询后的数据如何只保留小数点后两位 ?

原代码如下

SELECT [宝贝标题],
sum(IIf(month([订单创建时间])=1,[总金额],0)) AS 一月,
sum(IIf(month([订单创建时间])=2,[总金额],0)) AS 二月,
sum(IIf(month([订单创建时间])=3,[总金额],0)) AS 三月,
sum(IIf(month([订单创建时间])=4,[总金额],0)) AS 四月,
sum(IIf(month([订单创建时间])=5,[总金额],0)) AS 五月,
sum(IIf(month([订单创建时间])=6,[总金额],0)) AS 六月,
sum(IIf(month([订单创建时间])=7,[总金额],0)) AS 七月,
sum(IIf(month([订单创建时间])=8,[总金额],0)) AS 八月,
sum(IIf(month([订单创建时间])=9,[总金额],0)) AS 九月,
sum(IIf(month([订单创建时间])=10,[总金额],0)) AS 十月,
sum(IIf(month([订单创建时间])=11,[总金额],0)) AS 十一月,
sum(IIf(month([订单创建时间])=12,[总金额],0)) AS 十二月
FROM 数据表
GROUP BY [宝贝标题];
回复
ACMAIN_CHM 2013-07-04
这样的数据修改,建议还是复制到EXCEL中然后直接利用公式进行替换。然后再导入ACCESS》
回复
WWWWA 2013-07-04
UPDATE TT SET 标题=iif(instr(标题,'飞帆')>0 and instr(标题,'1段')>0 and instr(标题,'900g')>0,'飞帆1段900g',iif(instr(标题,'飞帆')>0 and instr(标题,'2段')>0 and instr(标题,'三联包')>0,'飞帆2段三联包',if(instr(标题,'飞帆')>0 and instr(标题,'2段')>0 and instr(标题,'400g')>0,'飞帆2段400g',iif(instr(标题,'飞帆')>0 and instr(标题,'抵抗力')>0 and instr(标题,'900g')>0,'飞帆抵抗力900g',标题))))
回复
ZJCCCC 2013-07-04
你好 update tt set 标题=iif(instr(标题,'飞帆')>0 and instr(标题,'1段')>0 and instr(标题,'900g')>0,'飞帆1段900g',标题) update tt set 标题=iif(instr(标题,'飞帆')>0 and instr(标题,'2段')>0 and instr(标题,'三联包')>0,'飞帆2段三联包',标题) update tt set 标题=iif(instr(标题,'飞帆')>0 and instr(标题,'2段')>0 and instr(标题,'400g')>0,'飞帆2段400g',标题) update tt set 标题=iif(instr(标题,'飞帆')>0 and instr(标题,'抵抗力')>0 and instr(标题,'900g')>0,'飞帆抵抗力900g',标题) 这几个如何整合成一句?执行一次就可以全部修改
回复
WWWWA 2013-07-04
AS SS 字段的别名
回复
ZJCCCC 2013-07-04
你好,表600多M太大了,传太慢了 请问,as ss from tt 的as ss 是什么意思
回复
WWWWA 2013-07-04
上传你的MDB(2000格式)到www.access911.net/csdn
回复
ZJCCCC 2013-07-04
你好,上面的语句查询出来的结果没有变化,和基表数据一样,没有按条件进行更新
回复
wwwwb 2013-07-04
SELECT *, iif(instr(标题,'飞帆')>0 and instr(标题,'1段')>0 and instr(标题,'900g')>0,'飞帆1段900g',iif(instr(标题,'飞帆')>0 and instr(标题,'2段')>0 and instr(标题,'三联包')>0,'飞帆2段三联包',if(instr(标题,'飞帆')>0 and instr(标题,'2段')>0 and instr(标题,'400g')>0,'飞帆2段400g',iif(instr(标题,'飞帆')>0 and instr(标题,'抵抗力')>0 and instr(标题,'900g')>0,'飞帆抵抗力900g',标题)))) as ss from tt
回复
ZJCCCC 2013-07-04
哦,谢谢你的建议,最近也一直在看sql方面的书集
回复
ZJCCCC 2013-07-04
我其实就是想基表数据不变,然后通过 select * from tt 制造出一个基表的镜像,然后修改这个镜像出的数据
回复
WWWWA 2013-07-04
3、建议你看看有关SQL方面的基础知识
回复
WWWWA 2013-07-04
1、并不是所有查询都能更新的 2、更新的是基表中的数据,而不是查询出来的数据
回复
WWWWA 2013-07-04
详细说明  只更新查询出来的结果  什么意思
回复
ZJCCCC 2013-07-04
比如 update 查询 set 标题=iif(instr(标题,'飞帆')>0 and instr(标题,'2段')>0 and instr(标题,'400g')>0,'飞帆2段400g',标题)
回复
加载更多回复
相关推荐
发帖
Access
创建于2007-09-28

7508

社区成员

Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
申请成为版主
帖子事件
创建了帖子
2013-07-04 03:19
社区公告
暂无公告