当我在数据库执行  这个语句时:
SELECT TOP (10) * FROM SP_ShuPingXinXiBiao WHERE ShuPingXinXiID NOT IN(SELECT TOP (0) ShuPingXinXiID FROM SP_ShuPingXinXiBiao WHERE ShiFouZuoFei='false')AND SP_ShuPingXueKeFenLeiBiao.ShuPingXueKeFenLeiID = '1'AND ShiFouZuoFei='false'数据库就给我报这个错:
到底是什么错呢?知道的大神教教我吧,感激不尽sql数据库

解决方案 »

  1.   

     ShuPingXinXiID NOT IN(SELECT TOP (0) id ShuPingXinXiID FROM SP_ShuPingXinXiBiao WHERE ShiFouZuoFei='false')
      

  2.   

    就是你not in 中必须是明确地跟ShuPingXinXiID对应的一个字段 
      

  3.   

    你的这个语句,引用了这个表SP_ShuPingXueKeFenLeiBiao,不能这么写:SELECT TOP (10) * FROM SP_ShuPingXinXiBiao WHERE ShuPingXinXiID NOT IN(SELECT TOP (0) ShuPingXinXiID FROM SP_ShuPingXinXiBiao WHERE ShiFouZuoFei='false')AND SP_ShuPingXueKeFenLeiBiao.ShuPingXueKeFenLeiID = '1'AND ShiFouZuoFei='false'SP_ShuPingXueKeFenLeiBiao和SP_ShuPingXinXiBiao  有什么关联字段吗,如果有的话,应该改为:
    SELECT TOP (10) * FROM SP_ShuPingXinXiBiao  
    inner join SP_ShuPingXueKeFenLeiBiao
            on SP_ShuPingXueKeFenLeiBiao.关联字段 = SP_ShuPingXinXiBiao.关联字段
    WHERE ShuPingXinXiID NOT IN (SELECT TOP (0) ShuPingXinXiID FROM SP_ShuPingXinXiBiao WHERE ShiFouZuoFei='false') AND SP_ShuPingXueKeFenLeiBiao.ShuPingXueKeFenLeiID = '1'AND ShiFouZuoFei='false'
      

  4.   

    top 0?我觉得你用exists更合适:SELECT TOP ( 10 )
            *
    FROM    SP_ShuPingXinXiBiao
    WHERE   ShuPingXinXiID NOT EXEC  ( SELECT 1
                                            ShuPingXinXiID
                                    FROM    SP_ShuPingXinXiBiao
                                    WHERE   ShiFouZuoFei = 'false' )
            AND SP_ShuPingXueKeFenLeiBiao.ShuPingXueKeFenLeiID = '1'
            AND ShiFouZuoFei = 'false'