编码值,在SQL中以这种方式最大解码。
当前,您正在将SQL命令构建为(我用任意值替换了表名变量, temp并使用tableName)
SELECt tbl_grp_by.*, [tableName].* INTO newTableName FROM ( SELECt Max([temp].[Field1]) as [Field1], Max([temp].[Field2]) as [Field2], Max([temp].[Field3]) as [maxField3], [temp].[Field4] as [Field4] FROM [temp] INNER JOIN [tableName ] ON [temp].[commonField] = [tableName].[commonField] GROUP BY [temp].[commonField] ) as tbl_grp_by INNER JOIN [tableName] ON [tableName].[commonField] = tbl_grp_by.[commonField]
建立为
SELECt tbl_grp_by.[Field1],tbl_grp_by.[Field2], Switch( tbl_grp_by.[maxfield3] = 0, '0', tbl_grp_by.[maxfield3] = 1, '>1 million', tbl_grp_by.[maxfield3] = 2 '0001-0010' ) as [Field3], tbl_grp_by.[Field4],[tableName].* INTO newTableName FROM ( SELECt Max([temp].[Field1]) as [Field1], Max([temp].[Field2]) as [Field2], Max(Switch( [temp].[field3] = '0' , 0, [temp].[field3] = '>1 million' , 1, [temp].[field3] = '0001-0010', 2))as [maxField3], [temp].[Field4] as [Field4] FROM [temp] INNER JOIN [tableName ] ON [temp].[commonField] = [tableName].[commonField] GROUP BY [temp].[commonField] ) as tbl_grp_by INNER JOIN [tableName] ON [tableName].[commonField] = tbl_grp_by.[commonField]
因此[field3]在内部查询中的max()下编码,而在外部查询中的max解码。



