select A.name,B.work from A,B where A.id=1 and B.name=(最前面选择出来的A.name的值)B.name=(最前面选择出来的A.name的值)  这个怎么写?
我的意思不知道大家理解吗,就是后面一个表要用到前面一个表查到的信息

解决方案 »

  1.   

    select C.name,B.work from (select name from A where id=1) C , B where B.name=C.name
      

  2.   

    貌似这样也行select A.name,B.work 
    from A 
    left join B on B.name = A.name
    where A.id=1
      

  3.   

    笨办法:select A.name,B.work from A,B where A.id=1 and B.name in (select name from A where id=1)
      

  4.   

    六楼的左连接正解
    下边写法也可以的
    select A.name,B.work 
    from A , B 
    where A.ID=1 
    AND B.NAME=A.NAME
      

  5.   

    还有,SQL语句里最好不要用太多的子查询,效率很低下的,
      

  6.   

    这样行不行?
    select A.name,B.work from A,B where A.id=1 and B.name=( select name from A where id=1)
      

  7.   

    直接写啊...
    看来当时楼主的思路被局限住了...
    select A.name,B.work 
    from A , B 
    where A.ID=1 
    and B.name=A.name
      

  8.   


    SELECT B.work FROM B WHERE B.name = (SELECT A.name FROM A WHERE A.id = 1)
      

  9.   

    B.name = (SELECT A.name FROM A WHERE A.id = 1)
    后面是个集合不能=的。