表T1
   char    number  name
    A      1       你好   
    B      2       中间
    C      3       啊啊表T2    A      1     
    B      2现在我想根据T2中的记录查询T1中相应NAME列的值!

解决方案 »

  1.   

    SELECT T2.CHAR,T2.NUMBER,T1.NAME
    FROM T2,T1
    WHERE T2.CHAR=T1.CHAR AND T2.NUMBER=T1.NUMBERA
      

  2.   


    试试:select name from T1 where number in (select number from T2);
    ------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    Q Q 群:62697716
      

  3.   

    SELECT * FROM T1 A WHERE EXISTS (
     SELECT 1 FROM T2 WHERE CHAR=A.CHAR AND NUMBER =A.NUMBER);或者
    SELECT * FROM T1 WHERE (CHAR,NUMBER) IN (SELECT CHAR,NUMBER FROM T2);
      

  4.   


     
      select t2.char,t2.number,name=(select name from t1 where t1.char=t2.char and t2.number = t2.number ) from t2不知道你表那个是主键.......所以条件两个都写上了
      

  5.   

    SELECT T2.CHAR,T2.NUMBER,T1.NAME
    FROM T2,T1
    WHERE T2.CHAR=T1.CHAR AND T2.NUMBER=T1.NUMBERA
      

  6.   

    select name from T1 where number in (select number from T2);
      

  7.   

    select t2.char,t2.number,t1.name
    from t1,t2
    where t1.char=t2.char and t1.number=t2.number
      

  8.   

    那个 后面的where中 可不可以去掉一个条件!因为 char和number本来就是一一对应的!
      

  9.   


    主键对应好就行了 select name from T1 where number in (select number from T2); 
      

  10.   

    select t1.name from T1 t1,T2 t2 where t1.number = t2.number
      

  11.   

    select * from  t1 t1
    where t1.number  in(select t2.number  from t2 t2)
      

  12.   

    效率可能更高:
    select t1.name from t1 t1,t2 t2 where t1.number =t2.number  and t1.char=t2.char
      

  13.   

    in 关键字最好少用..数据量大的时候,跑一个语句很费时间..select t1.name from T1 t1, T2 t2 where t1.number = t2.number and t2.number = ?'?'为你传入的参数值..也可以不写.如不写,就查询出全部的