有两个表:
dataTmp,data,两表结构一样
saccount 是主键。我想查询saccouont在dataTmp有,在data里也有的记录,select * from  dataTmp where  saccount in (select saccount from data);
问题来了:
如果我要比较的字段是一个组合键saccount ,icheckdata
那要求saccount和icheckdata在两表中都有的记录应该怎么查?请各位高手热心指点

解决方案 »

  1.   

    select * from  dataTmp where  (saccount,icheckdata) in (select saccount,icheckdata from data);
    即可
      

  2.   

    select * from  dataTmp where  (saccount,icheckdata) in (select saccount,icheckdata from data);
      

  3.   

    select * from  dataTmp a,data b
    where a.saccount = b.saccount and a.icheckdata =b.icheckdata;
      

  4.   

    select * from datatmp a where 
      exists (select 1 from data where saccount=a.saccount and icheckdata=a.icheckdata)
      

  5.   

    你的saccount是主键,不用in就可以的select * from  dataTmp a,data b where  a.saccount = b.saccount;
    select a.* from  dataTmp a,data b
    where a.saccount = b.saccount and a.icheckdata =b.icheckdata;