a表
 
id name b表id name datac表id name data怎么根据用a表 查找出b, c中的data

解决方案 »

  1.   

    select b.data,c.data from a 
    join b on a.name=b.name
    join c on a.name=c.name
      

  2.   

    --如果只根据ID查,则如下:
    select a.* , b.* , c.* from a 
    left join b on a.id = b.id
    left join c on a.id = c.id--如果根据ID+name查,则如下:
    select a.* , b.* , c.* from a 
    left join b on a.id = b.id and a.name = b.name
    left join c on a.id = c.id and a.name = c.name
      

  3.   

    如何把查找出来的b.data 和 c .data 在重新组成一列 绑定到一个控件上呢
      

  4.   

    你这是软件开发的事情,不是SQL语句的功能.
      

  5.   

    偶是菜鸟,那 select c.*, a.data,b.data from a,,b,c where c.name = a.name or c.name = b.name 查找出来的是所有a 中的data 和 b中的data,但是有重复
      

  6.   

    怎么把 a.data 和b。data组成一列呢
      

  7.   


    SELECT *FROM 
    (
    SELECT B.DATA FROM B
    UNION ALL
    SELECT C.DATA FROM C
    )AS NEW_TAB
    WHERE NAME IN
    (
    SELECT NAME FROM A
    )
    --或者
    WHERE ID IN
    (
    SELECT ID FROM A
    )因为B 和C表的数据结构是一样的话可以用UNION ALL把2张表链接起来
    然后在IN操作A表 或者链接A表也可以。不知道这样是不是你想要的数据。
      

  8.   


    SELECT *FROM 

    SELECT DISTINCT ID,NAME,DATA FROM B 
    UNION ALL
    SELECT DISTINCT ID,NAME,DATA FROM C 
    )AS NEW_TAB
    WHERE NAME IN 

    SELECT NAME FROM A

    --或者 
    WHERE ID IN 

    SELECT ID FROM A
     ) B.DATA只是你需要的数据,可以写成*获取全部的数据至于条件有重复的你可以根据ID修改