Y
yssj
Unregistered / Unconfirmed
GUEST, unregistred user!
有A、B两个表
企业表: A 企业编号、企业名称、地址、邮编
联系人表: B 企业编号、联系人姓名、联系人职务
两表之间的关系:一个企业对应多个联系人
现在需要实现的报表效果(打印信封):
邮 编
地址
企业名称
联系人姓名(收)------------如果联系人表中,有联系人职务是销售总经理的,填销售总经理的姓名,如果没有销售总经理的,固定填负责人收
寄出地址-------
310000
现在的难题是:
1、 如果用 select * from A,B where A.企业编号=B.企业编号
---那么没有联系人的企业将查询不到
2、 如果用 select * from A left join outer B on A.企业编号=B.企业编号
----那么如果一个企业有多个联系人,则会显示所有联系人的记录,这样数据就有相对上的重复(企业重复)
3、 如果用 select * from A left join outer B on A.企业编号=B.企业编号 where联系人职务=销售总经理
-----那么联系人表中没能销售总经理职务的企业将查询不到
寻求解决方法:在不改变企业表结构,可改变联系人表结构的方式上,正确的SQL语句
企业表: A 企业编号、企业名称、地址、邮编
联系人表: B 企业编号、联系人姓名、联系人职务
两表之间的关系:一个企业对应多个联系人
现在需要实现的报表效果(打印信封):
邮 编
地址
企业名称
联系人姓名(收)------------如果联系人表中,有联系人职务是销售总经理的,填销售总经理的姓名,如果没有销售总经理的,固定填负责人收
寄出地址-------
310000
现在的难题是:
1、 如果用 select * from A,B where A.企业编号=B.企业编号
---那么没有联系人的企业将查询不到
2、 如果用 select * from A left join outer B on A.企业编号=B.企业编号
----那么如果一个企业有多个联系人,则会显示所有联系人的记录,这样数据就有相对上的重复(企业重复)
3、 如果用 select * from A left join outer B on A.企业编号=B.企业编号 where联系人职务=销售总经理
-----那么联系人表中没能销售总经理职务的企业将查询不到
寻求解决方法:在不改变企业表结构,可改变联系人表结构的方式上,正确的SQL语句