不知道你说的是不是这个意思。
有表
主表职工表zgtable 部门表bmtable 工种表gztable 职务表zwtable
dcid:电厂编码 dcid:电厂编码 dcid:电厂编码 dcid:电厂编码
zgid:职工编码 bmbm:部门编码 gzbm:工种编码 zwbm:职务编码
zgxm:职工姓名 bmmc:部门名称 gzmc:工种名称 zwmc:职务名称
gzbm:工种编码
bmbm:部门编码
zwbm:职务编码
每表都是双关键字,因为每个电厂的定义都不一样的,现在要zgtable里的记录都在
而对应其编码变成名称。
sql server中用左连接:
select a.dcid,a.zgid,a.zgxm,b.gzmc,c.bmmc,d.zwmc from zgtable as a left jion
gztable as b on a.dcid=b.dcid and a.gzbm=b.gzbm left jion bmtable as c on
a.dcid=c.dcid and a.bmbm=c.bmbm left jion zwtable as d on a.dcid=d.dcid and
a.zwbm=d.zwbm;
oracle中用左连接:
select a.dcid,a.zgid,a.zgxm,b.gzmc,c.bmmc,d.zwmc from zgtable a,
gztable b,bmtable c,zwtable d where a.dcid=b.dcid(+) and a.gzbm=b.gzbm(+)
a.dcid=c.dcid(+) and a.bmbm=c.bmbm(+) on a.dcid=d.dcid(+) and a.zwbm=d.zwbm(+);