UPDATE同一列,使符合条件的显示为1,不合条件显示为0

aaa6263 2011-07-20 09:04:04

有一张表共有以下几列:【本表序号】、【路名】、【小区号】、【楼号】、【室号】、【每栋楼第一家】
前五列都有数据,需更新最后一列:使用以下语句:

Conn.Execute "UPDATE table A SET 每栋楼第一家='1' WHERE (本表序号 IN (SELECT MIN(本表序号) FROM table B GROUP BY 路名,小区号,楼号 ));"

这样【每栋楼第一家】符合条件的行变为1,现在还需要其他行显示为0,请问如何修改。
是不是用case,又怎么写呢?
谢谢
...全文
114 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
aaa6263 2011-07-26
  • 打赏
  • 举报
回复
最后还是分两句了
结贴
谢两位了
wwwwb 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wwwwb 的回复:]
贴记录出来看看
将IN->NOT IN
VFP什么版本
[/Quote]
详细说明
十豆三 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 aaa6263 的回复:]
Update Table A Set 每栋楼第一家=IIF(本表序号 In (Select Min(本表序号) From Table B Group By 路名,小区号,楼号),'1','0')

试了下,不行
[/Quote]

分2句执行吧。
aaa6263 2011-07-20
  • 打赏
  • 举报
回复
Update Table A Set 每栋楼第一家=IIF(本表序号 In (Select Min(本表序号) From Table B Group By 路名,小区号,楼号),'1','0')

试了下,不行
十豆三 2011-07-20
  • 打赏
  • 举报
回复
试试:

Update Table A Set 每栋楼第一家=IIF(本表序号 In (Select Min(本表序号) From Table B Group By 路名,小区号,楼号),'1','0')
aaa6263 2011-07-20
  • 打赏
  • 举报
回复
回楼上,使用Provider=Microsoft.Jet.OLEDB.4.0
NOT IN 试了下可以

但可以两句并一句吗?
值UPDATE一次,1和0都写入
wwwwb 2011-07-20
  • 打赏
  • 举报
回复
贴记录出来看看
将IN->NOT IN
VFP什么版本
aaa6263 2011-07-20
  • 打赏
  • 举报
回复
是同一张表,运行的确可以通过
十豆三 2011-07-20
  • 打赏
  • 举报
回复
Update Table A Set 每栋楼第一家='0' Where 本表序号 Not In (Select Min(本表序号) From Table B Group By 路名,小区号,楼号)
十豆三 2011-07-20
  • 打赏
  • 举报
回复
你的 A B 是不同的表?如果是不同表请说明一下表结构和2表关系。
十豆三 2011-07-20
  • 打赏
  • 举报
回复
Update Table A Set 每栋楼第一家='1' Where (本表序号 In (Select Min(本表序号) From Table B Group By 路名,小区号,楼号 ))

这句你确认正常运行通过了?

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧