首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Access DB查询-需要帮助更新某些记录

问Access DB查询-需要帮助更新某些记录
EN

Stack Overflow用户
提问于 2009-01-30 17:50:40
回答 4查看 433关注 0票数 2

我有一个访问数据库,我们用来跟踪票证。由于与每个票证相关联的不同编程改变,每个票证可能会有多次出现。每条记录也有一个program_type字段,它是SVR或VB。示例:

代码语言:javascript
复制
123456 - SVR - SomeCode

123456 - VB - SomeVBCode

我在数据库中添加了一个名为VB_Flag的列,该列的默认值为0,对于每个包含VB代码的票证,我希望将其更改为数字1。因此,这里的结果将是:

代码语言:javascript
复制
123456 - SVR - SomeCode - 1

123456 - VB - SomeVBCode - 1

但是,我无论如何也想不出如何编写这个更新查询。一开始我试过了:

代码语言:javascript
复制
UPDATE table SET VB_Flag = 1 WHERE program_type = 'VB'

但这显然省略了所有与VB代码共享票号的SVR代码。

我不知所措。帮助?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-01-30 18:05:45

这应该是可行的:

代码语言:javascript
复制
UPDATE table SET VB_Flag = 1 
WHERE TicketNum IN (SELECT TicketNum FROM Table WHERE program_type = 'VB')
票数 1
EN

Stack Overflow用户

发布于 2009-01-30 18:08:05

你可以这样做:

代码语言:javascript
复制
UPDATE tickets SET VB_Flag = 1
WHERE ticket_id IN (SELECT ticket_id FROM tickets WHERE program_type = 'VB');

inner语句返回program_type为'VB‘的所有ticket_ids的列表。

然后,对于具有这些ticket_ids之一的所有记录(包括program_type为'SVR‘的记录),更新将VB_Flag设置为1。

票数 2
EN

Stack Overflow用户

发布于 2009-01-30 18:07:46

在Table.TicketNumber = Table2.TicketNumber SET Table2.VB_Flag =1 WHERE ((Table.program_type="VB"))上将表内连接表更新为Table2

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/496483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档