我有一个包含字段的表:[VARIABLE_CODE],[VARIABLE_NAME],[CAS_NO],[USER_VAR_GROUP_NAME] 我想对这个问题做的是使用追加查询并从表中获取条目并将它们放入另一个带有额外字段[INDICATOR_NAME]的表中。 [INDICATOR_NAME]会因[VARIABLE_NAME]中的内容而异。示例AluminumDissovled变量名称--->铝D指示灯名称。
但我能想到的唯一方法就是有很多追加查询。每个条件一个,每个指标名称。这将是非常多的查询。反正有没有包含并将执行所有指标nmes /条件的追加查询?
OR
添加额外字段[INDICATOR_NAME]并运行更新查询,请查看以下内容。将根据[VARIABLE_NAME]字段中的内容添加[INDICATOR_NAME]。问题是,我有十个不同的条件如下。但实际上我有大约一百个。 来自A-Z。然而,在查询中你可以拥有多少IFF是有限制的 无论如何在一个查询中有这么多条件????
UPDATE QRY_Variables_A SET INDICATOR_NAME =
IIf([VARIABLE_NAME]='ALUMINUM DISSOLVED (AL)' OR [VARIABLE_NAME]='ALUMINUM_27 DISSOLVED - AL','Aluminum D',
IIf([VARIABLE_NAME]='ALUMINUM TOTAL' OR [VARIABLE_NAME]='ALUMINUM TOTAL RECOVERABLE' OR [VARIABLE_NAME]='ALUMINUM_27 TOTAL RECOVERABLE - AL','Aluminum T',
IIf([VARIABLE_NAME]='ANTIMONY DISSOLVED (SB)' OR [VARIABLE_NAME]='ANTIMONY_121 DISSOLVED - SB','Antimony B',
IIf([VARIABLE_NAME]='ANTIMONY TOTAL' OR [VARIABLE_NAME]='ANTIMONY TOTAL RECOVERABLE' OR [VARIABLE_NAME]='ANTIMONY_121 TOTAL RECOVERABLE - SB','Antimony T',
IIf([VARIABLE_NAME]='ARSENIC DISSOLVED' OR [VARIABLE_NAME]='ARSENIC_75 DISSOLVED - AS','Arsenic D',
IIf([VARIABLE_NAME]='ARSENIC TOTAL' OR [VARIABLE_NAME]='ARSENIC TOTAL RECOVERABLE' OR [VARIABLE_NAME]='ARSENIC_75 TOTAL RECOVERABLE - AS','Arsenic T',
IIf([VARIABLE_NAME]='BARIUM DISSOLVED' OR [VARIABLE_NAME]='BARIUM_137 DISSOLVED - BA','Barium D',
IIf([VARIABLE_NAME]='BARIUM TOTAL' OR [VARIABLE_NAME]='BARIUM TOTAL RECOVERABLE' OR [VARIABLE_NAME]='BARIUM_137 TOTAL RECOVERABLE - BA','Barium T',
IIf([VARIABLE_NAME]='BERYLLIUM DISSOLVED' OR [VARIABLE_NAME]='BERYLLIUM_9 DISSOLVED - BE','Beryllium D',
IIf([VARIABLE_NAME]='BERYLLIUM TOTAL' OR [VARIABLE_NAME]='BERYLLIUM TOTAL RECOVERABLE' OR [VARIABLE_NAME]='BERYLLIUM_9 TOTAL RECOVERABLE - BE','Beryllium T',
))))))))));
感谢大家的提示,答案,时间,评论。
答案 0 :(得分:2)
您可能想考虑创建另一个包含列表的表:
Variable_Name Indicator_Name
ALUMINUM DISSOLVED (AL) Aluminum D
ALUMINUM_27 DISSOLVED - AL Aluminum D
等等。然后,您可以将此表连接到主表以获取指标名称:
SELECT MyTable.Variable_Name, NewTable.Indicator_Name
FROM MyTable
INNER JOIN NewTable
ON MyTable.Variable_Name = NewTable.Variable_Name
您甚至可能不需要更新列,但您可以使用这样的设置,例如:
UPDATE MyTable
INNER JOIN NewTable
On MyTable.Variable_Name = NewTable.Variable_Name
SET MyTable.Indicator_Name = NewTable.Indicator_name