SELECT * FROM (SELECT ID, NAME, X, Y, Z, ZOOM, PERSONAL, ARCHIVED, rownumber() over(order by ID desc) as ROW FROM ISUPERMAP.POSITION WHERE ID IN(SELECT DISTINCT(ID) FROM ISUPERMAP.POSITION_TAG WHERE TAG IN({0}))) as TEMP where TEMP.ROW >= ? and TEMP.ROW < ?

解决方案 »

  1.   


    SELECT * 
    FROM (SELECT ID, NAME, X, Y, Z, ZOOM, PERSONAL, ARCHIVED, row_number() over(order by ID desc) as ROW 
          FROM ISUPERMAP.POSITION 
          WHERE ID IN(SELECT DISTINCT(ID) 
                      FROM ISUPERMAP.POSITION_TAG 
                      WHERE TAG IN({0}))) as TEMP
    where TEMP.ROW >= ? and TEMP.ROW < ?还有这一句 WHERE TAG IN({0})) tag是什么格式的?
      

  2.   

     tag 就是一个标签  String 类型的  tag 的ID是 position 的id  这个查询语句是别人写的 我看的不是很懂 所以想问问  自己试 查询错误
      

  3.   

    是不是rownumber() 写错了哦?应该是row_number() 
      

  4.   

    我知道了 用了oracle 函数了  呵呵 谢谢 我从新写下
      

  5.   

    SELECT * FROM (SELECT ID, NAME, X, Y, Z, ZOOM, PERSONAL, ARCHIVED, ROW_NUMBER() OVER(ORDER BY ID desc) as ROW FROM ISUPERMAP.POSITION WHERE ID IN(SELECT DISTINCT(ID) FROM ISUPERMAP.POSITION_TAG WHERE TAG IN({0}))) as TEMP where TEMP.ROW >= ? and TEMP.ROW < ?