使用sql查询分析器分析下面的程序段:
SELECT TOP 10 g.goods_id, g.goods_name, g.et_price, g.shop_price AS org_price,ISNULL(mp.user_price, g.shop_price * '1') AS shop_price, g.promote_price, g.promote_start, g.promote_end, g.goods_thumb, g.goods_img, g.goods_brief FROM ecs_goods AS g LEFT JOIN ecs_member_price AS mp ON mp.goods_id = g.goods_id AND mp.user_rank = '0' WHERE g.is_delete = 0 AND g.is_on_sale = 1 AND g.is_alone_sale = 1 AND (( 1 ) ) AND (g.goods_id not in (SELECT TOP 0 g.goods_id from ecs_goods AS g LEFT JOIN ecs_member_price AS mp ON mp.goods_id = g.goods_id AND mp.user_rank = '0' ORDER BY goods_id DESC)
出现如下的提示错误:
服务器: 消息 156,级别 15,状态 1,行 1
在关键字 'AND' 附近有语法错误。
服务器: 消息 156,级别 15,状态 1,行 1
在关键字 'ORDER' 附近有语法错误。
可是我找不到错误,为那个高手给指点一下

解决方案 »

  1.   


    SELECT   TOP   10   g.goods_id,   g.goods_name,   g.et_price,
    g.shop_price   AS   org_price,
    ISNULL(mp.user_price,   g.shop_price   *   '1')   AS   shop_price,
    g.promote_price,   g.promote_start,   g.promote_end,   
    g.goods_thumb,   g.goods_img,   g.goods_brief   
    FROM   ecs_goods   AS   g   
    LEFT   JOIN   ecs_member_price   AS   mp   
    ON   mp.goods_id   =   g.goods_id   
       
    WHERE   g.is_delete   =   0
    AND   mp.user_rank   =   '0'   
    AND   g.is_on_sale   =   1   
    AND   g.is_alone_sale   =   1   
    --AND   ((   1   )   )   
    AND   (g.goods_id   not   in   (SELECT   TOP   0   g.goods_id   from   ecs_goods   AS   g   LEFT   JOIN   ecs_member_price   AS   mp   ON   mp.goods_id   =   g.goods_id   where   mp.user_rank   =   '0'   ORDER   BY   goods_id   DESC)