消息 156,级别 15,状态 1,第 1 行
关键字 'exists' 附近有语法错误。
消息 102,级别 15,状态 1,第 1 行
')' 附近有语法错误。

解决方案 »

  1.   

    表扫描,连索引都没有!!!!SELECT  *
    FROM    基本信息表1
            LEFT JOIN ( SELECT  *
                        FROM    基本沟通表1
                        WHERE   Gid IN ( SELECT MAX(Gid)
                                         FROM   基本沟通表1
                                         GROUP BY 基本沟通表1.Qid )
                      ) AS t2 ON 基本信息表1.id = t2.Qid
    WHERE   1 = 1
            AND t2.求职状态 = '情况不明'
    把基本信息表1.id 和t2.Qid,t2.求职状态都加索引,然后left join里面的select * 改成qid
      

  2.   

    select * from 基本信息表1 left join
    (select t3.* from 基本沟通表1 t3 inner join (select Max(Gid) from 基本沟通表1 group by 基本沟通表1.Qid) t4
    on t3.gid=t4.gid and t3.qid=t4.qid) t2
    on 基本信息表1.id =t2.Qid 
    where 1=1 and t2.求职状态='情况不明' 
      

  3.   

    大概看明白了你的意思,基本沟通表取每个qid最大gid的数据出来,稍微优化了一下。
      

  4.   


    基本信息表 对应多个沟通记录,取得最近一次沟通记录,的基本信息,where 后面条件可以是基本信息表,也可以是基本沟通表
      

  5.   


    select * from 基本信息表1 left join
     (select t3.* from 基本沟通表1 t3 inner join (select Max(Gid),QID from 基本沟通表1 group by 基本沟通表1.Qid) t4
     on t3.gid=t4.gid and t3.qid=t4.qid) t2
     on 基本信息表1.id =t2.Qid 
     where 1=1 and t2.求职状态='情况不明'  
      

  6.   


    select * from 基本信息表1 left join
     (select t3.* from 基本沟通表1 t3 inner join (select Max(Gid) as gid1,QID from 基本沟通表1 group by 基本沟通表1.Qid) t4
     on t3.gid=t4.gid1 and t3.qid=t4.qid) t2
     on 基本信息表1.id =t2.Qid 
     where 1=1 and t2.求职状态='情况不明'  
      

  7.   

    消息 8155,级别 16,状态 2,第 2 行
    没有为 't4' 的列 1 指定任何列。
    消息 207,级别 16,状态 1,第 2 行
    列名 'Gid' 无效。
      

  8.   

    应该用inner join 
    试试我这句要多久 select * from 基本信息表1 a inner    基本沟通表1 b 
    on a.id=b.qid
    and b.求职状态='情况不明'
    and not exists (select c.gid from 基本沟通表1 c on c.qid=b.qid and c.Gid>b.Gid)
      

  9.   

    加索引都是TableScan能快的了? 
      

  10.   


    select * from 基本信息表1 a inner join 基本沟通表1 b on a.id=b.qid 
    and not exists (select c.gid from 基本沟通表1 c where c.qid=b.qid and c.Gid>b.Gid) and b.求职状态='情况不明' and 人才来源='网络'
    这句效率比较高