子查询中少了 WTTOOL 这个列

解决方案 »

  1.   

    单看语句的话是没有错误的a.WTPROD+a.WTTOOL应该改成 a.wtprod=b.wtprod and a.wttool=b.wttool,这样严密一点
      

  2.   

    on 的条件最好改成
    a.WTPROD = b.WTPROD and a.WTTOOL=b.WTTOOL
      

  3.   

    改成這樣還是不行
    string sql="select Top " + PageSize + " a.* from I_ToolPlan left join(select top "+PageSize*CurrentPage+" WTPROD,WTTOOL from I_ToolPlan order by WTPROD desc)b on a.WTPROD=b.WTPROD and a.WTTOOL=b.WTTOOL order by WTPROD desc ";
    The column prefix 'a' does not match with a table name or alias name used in the query. 
      

  4.   

    string sql="select Top "+PageSize+" * from I_ToolPlan a left join(select top "+PageSize*CurrentPage+" WTPROD,WTTOOL from I_ToolPlan order by WTPROD desc)b on a.WTPROD=b.WTPROD and a.WTTOOL=b.WTTOOL order by WTPROD desc ";
      

  5.   

    string sql="select Top " + PageSize + " a.* from I_ToolPlan a left join(select top "+PageSize*CurrentPage+" WTPROD,WTTOOL from I_ToolPlan order by WTPROD desc)b on a.WTPROD=b.WTPROD and a.WTTOOL=b.WTTOOL order by a.WTPROD desc ";
    试试这个。
      

  6.   

    还是有错,Ambiguous column name 'WTPROD'. 
    string sql="select Top "+PageSize+" a.* from I_ToolPlan a left join(select top "+PageSize*CurrentPage+" WTPROD,WTTOOL from I_ToolPlan order by WTPROD desc) b on a.WTPROD=b.WTPROD and a.WTTOOL=b.WTTOOL where b.WTPROD is null order by WTPROD desc ";
      

  7.   

    order by a.WTPROD desc原来要这样
      

  8.   

    错误信息不是已经很明确了吗?
    错误信息:列名“WTPROD”不是很明确
    将语句最后的order by WTPROD desc 改成order by a.WTPROD desc就可以了。