[英]How to make an update query
我有一张桌子,上面有五个字段,
| 邮递区号| 数据1 | 数据2 | 数据3 | 代码
我的表格及其下面的数据都有类似的记录,因此字段[data 1],[data2]和[data 3]有很多重复数据
Zip | Data 1 | Data 2 | Data 3 | Code |
123 | __A__ |__ B__ |__ C__ |_____ |
234 | __A__ |__ B__ |__ C__ |_____ |
456 | __A__ |__ B__ |______ |_____ |
678 | __A__ |__ B__ |__ C__ |_____ |
981 | __A__ |__ B__ |______ |_____ |
我的目标是找到匹配的行值,以便从中获得一组唯一的行(我通过查询给我创建了该行)
| Data 1 | Data 2 | Data 3 | Code |
| __A__ |__ B__ |__ C__ |_____ |
| __A__ |__ B__ |______ |_____ |
我想做的就是在该查询中输入一个代码值,以便它反映在现有表上并以所有重复的值显示代码,
所以说我在查询中输入了此数据((由于某种原因我无法输入)
| Data 1 | Data 2 | Data 3 | Code |
| __A__ |__ B__ |__ C__ |__C1__ |
| __A__ |__ B__ |______ |__C2__ |
我想要表中的以下输出
Zip | Data 1 | Data 2 | Data 3 | Code |
123 | __A__ |__ B__ |__ C__ |__C1__ |
234 | __A__ |__ B__ |__ C__ |__C1__ |
456 | __A__ |__ B__ |______ |__C2__ |
678 | __A__ |__ B__ |__ C__ |__C1__ |
981 | __A__ |__ B__ |______ |__C2__ |
我怎样才能做到这一点 ?
首先,选择您不同的值,然后将它们插入临时表或临时表中:
TempTable
Data1
Data2
Data3
Code null
接下来,在表格中插入不同的行
insert into TempTable (Data1, Data2, Data3)
select distinct data1, data2, data3 from myTable
接下来,使用每个记录所需的任何代码更新临时表。 仍然不确定是否要记住一个特定的值,或者是否希望它只是一个“独特”的值。 如果是唯一值,则可以将代码设置为身份,然后跳过此步骤
update temptable set Code = '' where Data1 = x and Data2 = y and Data3 = z
最后,使用值更新原始表
update myTable
inner join tempTable
on [myTable].data1 = [tempTable].data1
and [myTable].data2 = [tempTable].data2
and [myTable].data3 = [tempTable].data3
set [myTable].Code = [tempTable].Code;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.