注册 登录
编程论坛 VFP论坛

如何判断某一个产品的价格是否在规定范围内

自强不西 发布于 2020-11-27 11:43, 3485 次点击
如题,如何判断产品价格的调整幅度是否在正负30%范围内。具体案例如下:
同一hwmc(货物名称)的cyfd(价格调整幅度),只要一个幅度不在正负30%范围内,则SM(说明)列这一货物名称全部标注上“价格超出规定幅度”
   麻烦各位老师给看看如何能实现,谢谢!
只有本站会员才能查看附件,请 登录
15 回复
#2
schtg2020-11-27 12:53
请试一下,对吗?
UPDATE jgtzmx SET sm = "价格超出规定幅度" WHERE ! BETWEEN(cyfd,-0.3,+0.3)
#3
sdta2020-11-27 12:57
replace sm with "价格超出规定幅度" for not between(cyfd, -0.3, 0.3)
#4
自强不西2020-11-27 20:00
两位老师,运行后结果不对,正确答案应该是所有“高档手机”和“照相机1”记录的SM字段显示“价格超出规定幅度”。麻烦再给看看。
#5
sdta2020-11-27 20:41
下面结果不对吗
只有本站会员才能查看附件,请 登录
#6
sdta2020-11-27 20:45
请解释:正负30%范围内 是什么意思
#7
schtg2020-11-27 21:05
回复 4楼 自强不西
请试一下,是否符合你的意思?
UPDATE jgtzmx SET sm = "价格超出规定幅度" WHERE ALLTRIM(hwmc)==(sele alltrim(hwmc) from jgtzmx WHERE ! BETWEEN(cyfd,-0.3,+0.3))
只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2020-11-27 21:13编辑过]

#8
自强不西2020-11-28 08:58
回复 7楼 schtg
您好!我用的是VFP9.0,按您发的代码运行后,出现“子查询返回多条记录”的提示对话框,无法体现正确的结果。
#9
自强不西2020-11-28 09:23
回复 6楼 sdta
您好!正负30%是指≥-0.3与≤0.3
#10
sdta2020-11-28 10:02
以下是引用自强不西在2020-11-28 09:23:45的发言:

您好!正负30%是指≥-0.3与≤0.3

那么5楼的结果是否正确
#11
chxking2020-11-28 10:21
我怀疑楼主的数据表内有重复的记录。。。
#12
自强不西2020-11-28 19:03
回复 10楼 sdta
7楼的显示结果正确,但我用vfp9.0运行这条程序,提示错误。
#13
xuminxz2020-11-28 20:50
想复杂了吧?
repl sm with  '价格超出规定幅度' for abs(cyfd)>=0.3
当然,上下幅度不同要用between()

[此贴子已经被作者于2020-11-28 20:52编辑过]

#14
吹水佬2020-11-28 22:09
只有本站会员才能查看附件,请 登录

UPDATE jgtzmx SET sm="" WHERE .T.
SELECT DISTINCT hwmc,cyfd FROM jgtzmx WHERE !BETWEEN(cyfd,-0.3,0.3) INTO CURSOR tmp
UPDATE jgtzmx SET sm="价格超出规定幅度" FROM tmp WHERE jgtzmx.hwmc==tmp.hwmc
SELECT * FROM jgtzmx
#15
sdta2020-11-29 01:13
UPDATE jgtzmx SET sm = "价格超出规定幅度" from (SELECT hwmc, cyfd FROM jgtzmx WHERE ABS(cyfd) > 0.3) aa WHERE jgtzmx.hwmc == aa.hwmc
SELECT jgtzmx
BROWSE
#16
自强不西2020-11-29 14:53
多谢各位老师!
1