我有两个表
t1
职工编号  职工姓名
001        aaa
002        bbb
003        ccc
004        ddd
005        fff
006        gggt2
职工编号  物品编号  日期
001        AAA      2000-11-2
001        BBB      2000-12-2
002        AAA      2000-11-2
002        BBB      2000-10-22
005        CCC      2000-10-22
我现在想查询t1的职工编号和职工姓名,条件是在t2中的日期为2000-10-22的职工编号
结果如下:
职工编号   职工姓名
002         bbb
005         fff
请问大家如何编写这条语句?谢谢~~

解决方案 »

  1.   

    select * from t1  where (职工编号 ,职工姓名) in (select 职工编号, 物品编号 from t2 where 日期='为2000-10-22' )
      

  2.   

    select t1.职工编号, t1.职工姓名
    from t1
    where exists ( select t2.职工编号 from t2 
                    where t2.日期='2000-10-22'
                      and t2.职工编号=t1.职工编号 );
                     
      

  3.   

    select 职工编号,职工姓名 from t1 join t2 on t1.职工编号=t2.职工编号 And t2.日期<='2000-10-22'
      

  4.   

    如果我查询出结果是
    001   aaa
    001   aaa
    005   fff
    005   fff
    005   fff
    如何可以把重复的结果清除变为
    001   aaa
    005   fff
      

  5.   

    select distinct 职工编号, 职工姓名
    from t1
    where 职工编号 in( select 职工编号 
                        from t2 
                    where 日期="2000-10-22")