我有一个包含五个字段的表,
|邮政编码|数据1 |数据2 |数据3 |代码|
我的表格和下面的数据我有这样的记录音,所以字段[数据1],[数据2]和[数据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__ |
我该怎么做?
答案 0 :(得分:1)
首先,选择您的不同值并将它们插入临时表或临时表中:
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;