我有三个表
一个是公司表(company)
C_id C_name
01 公司A
01 公司B
01 公司C
中间表 guideline
G_id C_id M_id G_value
01 01 01 800
工程表project
P_id P_name P_units
01 总产值 万元
我想得到所有公司的内容乍么写SQL语句
如
C_id C_name P_name G_value P_units
01 公司A 总产值 800 万元
01 公司B 总产值 0.00 万元
01 公司C 总产值 0.00 万元
------解决方案--------------------
select a.C_id ,a. C_name c.P_name , b.G_value , c.P_units from
company left join guideline b on a.C_id.=b.C_id
left join project on a.c_id=b.P_id
------解决方案--------------------
select
a.C_id,
a.C_name,
p.P_name,
isnull(g.G_value,0.00) as G_value,
p.P_unigts
from
company c
cross join
project p
left join
guideline g
on
c.C_id=g.C_id and p.G_id=g.M_id
------解决方案--------------------
select A.C_id,A.C_name,B.P_name,C.G_value,B.P_units
from company A,project B,C.guideline
where A.C_id=C.C_id AND B.P_id=C.M_id
------解决方案--------------------
select company.C_id,
company.C_name,
isnull(project.P_name, '总产值 ') as P_name,
isnull(guideline.G_value,0) as G_value,
isnull(project.P_units, '万元 ') as P_units
from company
left join guideline on guideline.C_id=company.C_id
left join project on project.P_id=guideline.M_id
------解决方案--------------------
做了这么多表 id都一样,写错了?
------解决方案--------------------
用两次左外连接就可以解决了,一楼的楼主写的语句就OK了!