Access数据库查询 - 需要帮助更新某些记录
-
20-08-2019 - |
题
我有我们用它来跟踪门票访问DB。每张门票可能有多次出现,因为与该票证相关联的不同的编程变化。每个记录也有一个program_type场是SVR或VB。例如:
123456 - SVR - SomeCode
123456 - VB - SomeVBCode
我已经添加到称为VB_Flag数据库中,默认为0,这是我想改变为数字1为含有VB代码每票其中一列。所以,这里的结果将是:
123456 - SVR - SomeCode - 1
123456 - VB - SomeVBCode - 1
不过,我想不出我的生活该怎么写更新查询。一开始我尝试:
UPDATE table SET VB_Flag = 1 WHERE program_type = 'VB'
但是,显然省去所有共享与VB码的票号的SVR代码。
我在一个损失。帮助
解决方案
此应该工作:
UPDATE table SET VB_Flag = 1
WHERE TicketNum IN (SELECT TicketNum FROM Table WHERE program_type = 'VB')
其他提示
您可以做这样的事情:
UPDATE tickets SET VB_Flag = 1
WHERE ticket_id IN (SELECT ticket_id FROM tickets WHERE program_type = 'VB');
内SELECT语句返回具有的“VB”一个program_type所有ticket_ids的列表。
在更新然后设置VB_Flag为1与那些ticket_ids之一的所有记录(包括那些与“SVR”的program_type。
UPDATE 表 INNER JOIN表作为表2 ON Table.TicketNumber = Table2.TicketNumber 组 Table2.VB_Flag = 1 哪里 (([表] [program_type] = “VB”))
一个简单的嵌套选择应该把你的问题的护理:
UPDATE myTable
SET VB_Flag = 1
WHERE TicketID in (Select TicketID from myTable WHERE program_type = 'VB')
不隶属于 StackOverflow