1.SELECT * FROM Staff s
WHERE s.StaffId='Sf000001'2.SELECT JOB FROM Staff s1,Manager m
WHERE s1.TeamId=m.TeamId AND m.TeamId='Ti000001'1生成的数据是 工程师2.生成的是 工程师 ,工人,教师现在如何判断 1存在2中 用一个sql 语句完成 如果可以 怎么在ASP中去判断呢?
谢谢

解决方案 »

  1.   

    SELECT JOB FROM Staff s1,Manager m 
    WHERE s1.TeamId=m.TeamId AND m.TeamId='Ti000001' exists(SELECT count(1) FROM Staff s 
    WHERE s.StaffId='Sf000001'
      

  2.   

    if exists(select 
                  1 
              from 
                  Staff s 
              where 
                  s.StaffId='Sf000001' 
                  and 
                  not exists(select
                                 1 
                             from 
                                 Staff s1,Manager m 
                             WHERE 
                                 s1.TeamId=m.TeamId AND m.TeamId='Ti000001' and s1.JOB=s.JOB))
        select '不包括'
    else
        select '包括'
      

  3.   

    写错 写反了
    SELECT * FROM Staff s 
    WHERE s.StaffId='Sf000001' and s.StaffId in (SELECT JOB FROM Staff s1,Manager m 
    WHERE s1.TeamId=m.TeamId AND m.TeamId='Ti000001' ) 
      

  4.   

    --SQL 2005
    if exists
    (
    select 1 from Staff s 
    where s.StaffId='Sf000001'

    and not exists

    select JOB from Staff s 
    where s.StaffId='Sf000001'
    except--集合做差,如果2包含1,差的结果无记录
    select JOB from Staff s1,Manager m 
    where s1.TeamId=m.TeamId AND m.TeamId='Ti000001'
    )
      

  5.   

    --啊哦,少了个尾巴..(在4楼后面加上)
     select '包括'
    else
     select '不包括'
      

  6.   

    if exists(select job from staff where s1.staffid='sf000001' and exists(select * from manager m where s1.teamid=m.teamid and m.teamid='Ti000001'))
    select '包括'
    else
    select '不包括'