select b.data,c.data from a join b on a.name=b.name join c on a.name=c.name
--如果只根据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
如何把查找出来的b.data 和 c .data 在重新组成一列 绑定到一个控件上呢
你这是软件开发的事情,不是SQL语句的功能.
偶是菜鸟,那 select c.*, a.data,b.data from a,,b,c where c.name = a.name or c.name = b.name 查找出来的是所有a 中的data 和 b中的data,但是有重复
怎么把 a.data 和b。data组成一列呢
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表也可以。不知道这样是不是你想要的数据。
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修改
join b on a.name=b.name
join c on a.name=c.name
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
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表也可以。不知道这样是不是你想要的数据。
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修改