在客户端希望从数据库获取 UnitID列表中的这些ID号的最新数据最新数据怎么定义的?没明白楼主的意思:(

解决方案 »

  1.   

    呵呵, 又是ISP:
    select a.msgID, a.UnitID, a.X, a.Y, max(a.Time)... from 信息表 a, UnitID列表 b where a.UnitID = b.UnitID group by a.msgID, a.UnitID, a.X, a.Y, ...
      

  2.   

    好像我客户端程序记录,上次数据取到msgID=10001那么下一次取数据,只有msgid大于10001对于我的客户端程序才是有意思的。UnitID={UnitA,UnitB,UnitC....}msgIDTable
    -------------------------------------
    msgid  UnitID  UnitX  UnitY mTime ...
    10001  UnitA   100    200   10:30:22
    10002  UnitB   22     33     10:30:23
    10003  UnitA   222    321   10:30:24
    10004  UnitC   33     2     10:30:25
      

  3.   

    那么对于UnitA,msgID>10001,并且msgID 最大的那个
    就是我想要的UnitA 的数据而同样的,UnitB和UnitC也是一样需要这样的数据所以,最后希望获得是一个记录集10003 UnitA ......
    10004 UnitC .....
    等等
    但是这个UnitID列表是变化的,而且是在客户端以一个数组或者集合的形式保存的
      

  4.   

    UnitID和msgID之间没有关联,怎么取才算msgID是最大一条? 我这样行不行:
    10004 UnitA ......
    10003 UnitC .....
      

  5.   

    对于单单一个UnitID来说,如UnitA,想获得它的最新消息是很容易的
    但是我现在是一个UnitID列表(一个数组或者一个集合对象的形式存在)
    可能有数十个ID在里面
      

  6.   

    例如,如果对UnitID列表循环一条条写SQL语句取是这样SELECT  top 1 * from 消息列表   where UnitID='UnitA' and msgID>10001 order by msgid desc
    SELECT  top 1 * from 消息列表   where UnitID='UnitB' and msgID>10001 order by msgid desc
    ......我希望UnitID列表中的所有Unit的记录可以取出来
    但是这个UnitID列表不是数据库中的一张表
    而是客户端中的一个数组或者一个集合