a,b,c三张表,结构相同,用这样的语句连接:(select bm as 部门 from a) union
(select bm as 部门 from b) union
(select bm as 部门 from c)现在因为abc三表中的bm是代码,要在d表中通过外键bm取到中文的部门的字段,需要怎样写才更有效率?
(select bm as 部门 from b) union
(select bm as 部门 from c)现在因为abc三表中的bm是代码,要在d表中通过外键bm取到中文的部门的字段,需要怎样写才更有效率?
(select d.bm_name k1 from a,d where a.id=d.id) t1,
(select d.bm_name k2 from b,d where b.id=d.id) t2,
(select d.bm_name k3 from c,d where c.id=d.id) t3
;
select id from a union
select id from b union
select id from c
);
(select bm as 部门 from b) union
(select bm as 部门 from c) )
(select person as 员工,bm as 部门 from b) union
(select person as 员工,bm as 部门 from c) ,然后要与d表做联合查询显示出中文的部门名称,是每个查询分别与d表做联合和再union还是先union后再总地与d表做联合?该怎么办?
(select person as 员工,bm as 部门 from b) union
(select person as 员工,bm as 部门 from c) ,然后要与d表做联合查询显示出中文的部门名称,是每个查询分别与d表做联合和再union还是先union后再总地与d表做联合?该怎么办?
from (
(select bm as 部门 from a)
union
(select bm as 部门 from b)
union
(select bm as 部门 from c)
) t
,d
where t.bm=d.bm
from (
(select bm from a)
union
(select bm from b)
union
(select bm from c)
) t
,d
where t.bm=d.bm
from (
(select bm from a)
union
(select bm from b)
union
(select bm from c)
) t
如果每张表先与d表做联合在 union 写起来就 就比较多了