语法错误 (操作符丢失) 在查询表达式 'id not in(select top 8 id from pro3 where pro2_id=27 order by addtime desc) where pro2_id=27' 中。SQL语句是:  strSql = "select top 8 * from pro3 where id not in(select top " + p + " id from pro3 where pro1_id=" + pro1_id + " order by addtime desc) where pro1_id=" + pro1_id + " order by addtime desc";

解决方案 »

  1.   

    后面怎么还有一个where 是and吧。
      

  2.   

    把sql语句取出来放到查询分析器里执行
      

  3.   

    strSql = "select top 8 * from pro3 where id not in(select top " + p + " id from pro3 where pro1_id=" + pro1_id + " order by addtime desc) and pro1_id=" + pro1_id + " order by addtime desc";
      

  4.   

    where id not in()  and pro1_id=..
    而不是 
    where  id not in()  where pro1_id=..
      

  5.   

    把where改成and
    SQL语句是: strSql = "select top 8 * from pro3 where id not in(select top " + p + " id from pro3 where pro1_id=" + pro1_id + " order by addtime desc) where pro1_id=" + pro1_id + " order by addtime desc";
    select top 8 * from pro3
    where id not IN
    (
    select top 1 id from pro3 where pro1_id=2 order by addtime DESC

    and pro1_id=2 
    order by addtime desc
      

  6.   

    SQL语句是: strSql = "select top 8 * from pro3 where id not in(select top " + p + " id from pro3 where pro1_id=" + pro1_id + " order by addtime desc) where pro1_id=" + pro1_id + " order by addtime desc";換成  and
      

  7.   

    你用了2个WHERE 后面的用AND
      

  8.   

    where pro1_id="... 改成 and pro1_id="...
      

  9.   

    最后一个where改成and,建议楼主把子查询写到;with里面
      

  10.   

    id not in(select top " + p + " id from pro3 where pro1_id=" + pro1_id + " order by addtime desc)  这括号里面能用order by 吗?
      

  11.   

     strSql = "select top 8 * from pro3 where id not in(select top " + p + " id from pro3 where pro1_id=" + pro1_id + " order by addtime desc) where pro1_id=" + pro1_id + " order by addtime desc"; 这里是Where? 是And吧