两个表如下:
table1s_no(int) s_name(char 10) work_time(char(20))
 1           john          2004-06-13 08:30:30
 2           betty         2004-06-13 08:30:30
 3           kate          2004-05-12 09:00:00
 4           bibi          2004-05-12 09:00:00table2s_no(int) s_class(char 10)
  1         compute
  3         compute我想用联合查询达到下面的效果(时间界定为大于2004-06-13 00:00:00):
我要得到这样两条记录:
 s_no     s_name   s_class
  1       john     compute
  2       betty    我的SQL语句:
SELECT A.S_NO,A.S_NAME,B.S_CLASS FROM TABLE1 AS A LEFT JOIN TABLE2 AS B ON A.S_NO=B.S_NO AND CONVERT(CHAR(19),A.WORK_TIME,120)>'2004-06-13 00:00:00'
虽有时间的界定,但结果是:
s_no    s_name      s_class
 1           john   compute
 2           betty  
 3           kate   compute
 4           bibi   
怎样得到我想要的?

解决方案 »

  1.   

    SELECT table1.S_NO,table1.S_NAME,table2.S_CLASS FROM table1,table2 
    where table1.s_no=table2.s_no and work_time>='2004-06-13 00:00:00'
      

  2.   

    SELECT a.S_NO,
           S_NAME,
           S_CLASS 
    FROM table1 a left join table2 b on a.s_no=b.s_no
    where work_time>'2004-06-13'
      

  3.   

    select s_no, s_name,(select s_class from table2 where s_no=table1.s_no) from table1 where work_time>='2004-06-13 00:00:00'
      

  4.   

    SELECT A.S_NO,A.S_NAME,B.S_CLASS
     FROM TABLE1 AS A LEFT JOIN TABLE2 AS B ON A.S_NO=B.S_NO 
     where  ltrim(A.WORK_TIME)>'2004-06-13 00:00:00'
      

  5.   

    同意online(龙卷风V2.0--再战江湖) 做法,其他好像都不对
      

  6.   

    haipingma(ToJava)只能在table2的值是一条的情况是对的,否则是错的