select * from  
select a.CDNID AS NODEID,a.SERVID AS SERVID,c.TYPE AS NODETYPE,c.ACTIVE AS   
NODE_ACTIVE,a.ACTIVE AS SERV_ACTIVE,
b.IP1 AS WANIP,b.IP3 AS LIP,b.CTRLIP AS CTRLIP,a.KEYID AS KEYID,
a.HASH1_START AS HASH1_START,a.HASH1_END AS HASH1_END,a.STAYPATH AS STAYPATH   
from ((tb_store_node a join tb_hosts b) join tb_node_info c)
 where ((a.SERVID = b.SERVID) and (c.CDNID = a.CDNID))
)
limit 0,10这样为什么不行?把上面的查询结果当成一张表为什么不行?

解决方案 »

  1.   

    select * from   
    (select a.CDNID AS NODEID,a.SERVID AS SERVID,c.TYPE AS NODETYPE,c.ACTIVE AS   
    NODE_ACTIVE,a.ACTIVE AS SERV_ACTIVE,
    b.IP1 AS WANIP,b.IP3 AS LIP,b.CTRLIP AS CTRLIP,a.KEYID AS KEYID,
    a.HASH1_START AS HASH1_START,a.HASH1_END AS HASH1_END,a.STAYPATH AS STAYPATH   
    from ((tb_store_node a join tb_hosts b) join tb_node_info c)
     where ((a.SERVID = b.SERVID) and (c.CDNID = a.CDNID))
    )
    limit 0,10
      

  2.   

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
    corresponds to your MySQL server version for the right syntax to use near 'rsele
    ct * from
    (select a.CDNID AS NODEID,a.SERVID AS SERVID,c.TYPE AS NODETYP' at line 1
      

  3.   

    Every derived table must have its own alias
      

  4.   

    select c.id from (select * from b) c;语法是这样的。
      

  5.   

    加了别名也不好使啊 select * from  t   
    (select a.CDNID AS NODEID,a.SERVID AS SERVID,c.TYPE AS NODETYPE,c.ACTIVE AS   
    NODE_ACTIVE,a.ACTIVE AS SERV_ACTIVE,
    b.IP1 AS WANIP,b.IP3 AS LIP,b.CTRLIP AS CTRLIP,a.KEYID AS KEYID,
    a.HASH1_START AS HASH1_START,a.HASH1_END AS HASH1_END,a.STAYPATH AS STAYPATH   
    from ((tb_store_node a join tb_hosts b) join tb_node_info c)
     where ((a.SERVID = b.SERVID) and (c.CDNID = a.CDNID))
    )
    limit 0,10