表1:DP_MemberStore表2:DP_CommonSmsEntries求会员所挂靠的全部门店都已经报了门店月销售XS任务的会员
备注:会员MemberId  门店StoreId  任务Instructionjoin

解决方案 »

  1.   

    select * from DP_MemberStore a where exists(select * from DP_CommonSmsEntries b where a.MemberId = b.MemberId  and b.Instruction = 'XS')
      

  2.   

    楼上输出的结果是这样的
    但我的意思应该是只输出
    因为只有这个会员的门店全部上报了XS,而其他两个会员都还有门店没上报XS
      

  3.   

    select distinct a.* 
    from DP_MemberStore a 
    left join DP_CommonSmsEntries b 
    on a.MemberId = b.MemberId 
    and a.StoreId = b.StoreId 
    and b.Instruction = 'XS'
    where b.Instruction is null
      

  4.   

    嗯,刚好相反,我稍微改了一下,输出的是了
    结果对了,我测试下逻辑对不对先,代码是这样的SELECT MemberId FROM dbo.DP_MemberStore WHERE MemberId NOT IN (
    select distinct a.MemberId 
    from DP_MemberStore a 
    left join DP_CommonSmsEntries b 
    on a.MemberId = b.MemberId 
    and a.StoreId = b.StoreId 
    and b.Instruction = 'XS'
    where b.Instruction is NULL)