select * from link a ,paylog b where exist(select * from paylog Where b.Custid=a.Custid Group by b.Custid having conunt(b.Custid)<1) and Deaddate between'2001-01-01'and'2001-01-31';说我Invalid use of keyword.和SELECT有错。

解决方案 »

  1.   

    select * from link a ,paylog b,中*指示a还是b表,未指明。
      

  2.   

    link,最好加上 [link],conunt 改成 count
      

  3.   

    select a.custid,a.custname,a.Deaddate from link a ,paylog b where exist(select * from paylog Where b.Custid=a.Custid Group by b.Custid having count(b.Custid)<1) and Deaddate between'2001-01-01'and'2001-01-31';现在改成这样了,但提示这样的。
    Invalid use of keyword.
    Token: select 
    Line Number: 1无法理解了。
      

  4.   

    这是病句吧,特别是  exist 部分  看不懂;
    你还不如直接说明下要做什么;表结构关系;
      

  5.   

    有个a.custid=b.custid,能算关联么?
      

  6.   

    还是不知道你要做什么! 大下面的写法不报错select a.custid,a.custname,a.Deaddate 
     from link a 
       inner join 
         (select Custid
           from  paylog Group by b.Custid having count(b.Custid)<1) b on b.Custid = a.Custid 
    where a.Deaddate between'2001-01-01'and'2001-01-31'
      

  7.   

    #10
    运行了你的还是要报错,提示为:
    Invalid use of keyword.
    Token: select 
    Line Number: 4
      

  8.   

    加上關聯的關鍵字試試看呢...
    eg:inner join 或left join ......
    以下是一個多級關聯的SQL語句:SELECT *,
    CASE BuyerCode WHEN BuyerCode THEN(SELECT COLDSC FROM HR_Zone WHERE COLBCODE=F.BuyerCode ) ELSE NULL END AS COLDSC,
    CASE BuyerCode WHEN BuyerCode THEN(SELECT COLPEO FROM HR_Zone WHERE COLBCODE=F.BuyerCode ) ELSE NULL END AS COLPEO,null as ts
    FROM
    (
    SELECT *,
    CASE COLTYPE WHEN COLTYPE THEN ( SELECT COLBCODE FROM HR_BuyerCode WHERE COLCODE=COLxB )ELSE NULL END AS BuyerCode
    FROM
    ( select c.*,d.COLRQ from
    (  select  
     Account_Id,
     Full_Name as COLNAME,
     CSRQ  as COLBRQ,
     JCRQ as  COLCRQ,
     CB as COLBP,
     BMID as COLCODE,
     BM  as COLBM,
     kb as COLKB,
     XB as  COLXB,
     BC as BC,
     ZJQF as COLTYPE,
     ZJ as ZJ,
     JN as JN,
                                                                                                     BYXX as BYXX,
                                                                                                     SF as SF
     ,B.*
    from Res_User_Temp a left join HR_MOUTH b on a.Account_Id = b.COLAID   where a.bc<>'26'
    ) c left join HR_Pact  d on c.COLAID = d.COLAID 
    ) E
     ) F where F.COLAID  IS NOT NULL
      

  9.   


     Invalid use of keyword ---错误的使用关键字段
     检查一下是不是在建数据库表时的字段不合法,或者里面有系统保留参数作为字段名;
      按照这个方向看看吧
      

  10.   

    link表名是SQL的关键字不能作表名,[link]试试,上面好象有兄弟提到过
      

  11.   

    exist少写一个s,应该exists改过就正常,但不知道是不是你想要的结果
      

  12.   

    select a.Custid from link as a ,paylog as b where exists(select b.Custid from paylog where a.Custid=b.Custid group by a.Custid having count(a.custid)<2); 
    现在这名提示错误更怪,说的是。
    Capability not supported.
    我是在SQL Explorer 调试的。
      

  13.   

    不懂内联外联等,建议楼主自己好好学学sql语法。
    同时使用sqlserver中的视图图形化设计工具,结合多表关联的测试表和数据。可以看出左联、右联,内联的效果。
    楼主有时间来问,不如自己去看书,更节约学习时间。