求一动态表的查询方法
有一索引表:CmDYDY 用作保存所有数据采集终端属性
如下所示:
UnitCode(终端编号) Address(地址) UserName(用户名)....
M01A02010003 11391662 用户1
M01A02010004 11391634 用户2
M01A02010005 11391711 用户3
由于每个用户终端都有大量数据,因此每个终端数据动态创建表储存,其表名创建规则为UnitCode+XX(年),如采集终端M01A02010003 06年的数据表为M01A0201000306
表结构大致为:
RefreshTime(采集时间) Data(数据).......
现想做以下查询,请教下各位大大最优化的查询方式:
查询每个终端06年的最大数据
UnitCode(终端编号) Address(地址) UserName(用户名) MaxData
M01A02010003 11391662 用户1
M01A02010004 11391634 用户2
M01A02010005 11391711 用户3
请问应该如何实现?
我想做成:
SELECT *,
(SELECT MAX(Data) AS Data
FROM ~~~此处根据UNITCODE动态生成表名~~) AS MaxData
FROM (SELECT ADDRESS, UNITCODE, UserName
FROM CmDYDY) t
ORDER BY UNITCODE
不知如何解决UNITCODE与表名的动态生成,求教这种方法可行么?