最近做一个东西,查询数据库中,但是在SQL中验证查询语句,提示错误,还请各位给看下:
SELECT T1.POUND_NO,T2.POUND_NO AS RATE_POUND_NO,T1.POUND_TYPE FROM TDCJL06 T1,TDCJL06 T2 WHERE T1.POUND_TYPE <'6' AND T1.POUND_NO LIKE @POUND_NO||'%' AND T1.PROD_CNAME =NVL(@PROD_CNAME,T1.PROD_CNAME) AND T1.RATE_POUND_NO = T2.POUND_NO AND T2.WT_FLAG >= '1' AND T1.NET_WT_TIME >= @NET_WT_TIME_START AND T1.NET_WT_TIME <= @NET_WT_TIME_END ORDER BY T1.NET_WT_TIME DESC还请各位讲设计@%部分仔细看看,看我写的有没有错,另外还有红字部分,谢谢了
最好能给解释一下!sql数据库selectas

解决方案 »

  1.   

    LIKE @POUND_NO||'%' 这个地方有问题吧。。
      

  2.   

    SELECT T1.POUND_NO,T2.POUND_NO AS RATE_POUND_NO,T1.POUND_TYPE 
    FROM TDCJL06 T1,TDCJL06 T2 
    WHERE T1.POUND_TYPE <'6' AND T1.POUND_NO LIKE @POUND_NO+'%' -->不用||,直接加
    AND T1.PROD_CNAME =NVL(@PROD_CNAME,T1.PROD_CNAME) 
    AND T1.RATE_POUND_NO = T2.POUND_NO AND T2.WT_FLAG >= '1' 
    AND T1.NET_WT_TIME >= @NET_WT_TIME_START 
    AND T1.NET_WT_TIME <= @NET_WT_TIME_END 
    ORDER BY T1.NET_WT_TIME DESC
      

  3.   

    @是变量的标记,这样用有问题吧,你为什么不能把%赋给变量呢,
    比如:@POUND_NO='%'+'pound'+'%'
      

  4.   


    SELECT T1.POUND_NO,T2.POUND_NO AS RATE_POUND_NO,T1.POUND_TYPE 
    FROM TDCJL06 T1,TDCJL06 T2 WHERE T1.POUND_TYPE <'6'
       AND T1.POUND_NO LIKE @POUND_NO||'%' 
       AND T1.PROD_CNAME =NVL(@PROD_CNAME,T1.PROD_CNAME)
       AND T1.RATE_POUND_NO = T2.POUND_NO
       AND T2.WT_FLAG >= '1' 
       AND T1.NET_WT_TIME >= @NET_WT_TIME_START 
       AND T1.NET_WT_TIME <= @NET_WT_TIME_END
       ORDER BY T1.NET_WT_TIME DESC
      

  5.   


    SELECT T1.POUND_NO,T2.POUND_NO AS RATE_POUND_NO,T1.POUND_TYPE 
    FROM TDCJL06 T1,TDCJL06 T2 WHERE T1.POUND_TYPE <'6'
       AND T1.POUND_NO LIKE '''+@POUND_NO+'%''   --||这个不要.. 
       AND T1.PROD_CNAME =NVL(@PROD_CNAME,T1.PROD_CNAME)
       AND T1.RATE_POUND_NO = T2.POUND_NO
       AND T2.WT_FLAG >= '1' 
       AND T1.NET_WT_TIME >= @NET_WT_TIME_START 
       AND T1.NET_WT_TIME <= @NET_WT_TIME_END
       ORDER BY T1.NET_WT_TIME DESC