1.在这个复杂的数据库【服务详细信息】视图设计中的主要目的,
解决服务登记人 和 服务人 同样都是源于【员工】信息表。
这两个人员 可能ID和姓名相同 也可能登记人和 服务人员是不同的人
要在同一行数据中建立两个指向一个表的关联到两个值的外键信息。
2.办法:查询出两个临时表【a】【b】 在从这连个临时表中查询出
登记员工的ID和姓名和执行售后服务人员的ID和姓名
SELECT a.编号, a.客户ID, a.客户名称, a.客户地址, a.负责人, a.负责人电话, a.管理员, a.管理员电话, a.报修者姓名, a.报修者地址, a.报修者电话, a.产品ID, a.产品, a.型号, a.数量, a.故障ID, a.故障名称, a.登记人ID, a.登记人, a.登记时间, a.服务人ID, b.服务人, a.服务开始时间, a.服务结束时间, a.处理结果, a.客户意见, a.备注, a.状态
FROM [SELECT 服务信息.编号, 服务信息.维修单号, 服务信息.客户ID, 客户.名称 AS 客户名称, 客户.地址 AS 客户地址, 客户.负责人, 客户.负责人电话, 客户.管理员, 客户.管理员电话, 服务信息.报修者姓名, 服务信息.报修者地址, 服务信息.报修者电话, 服务信息.产品ID, 产品.名称 AS 产品, 产品.型号, 服务信息.数量, 服务信息.故障ID, 故障.名称 AS 故障名称, 服务信息.登记人ID, 员工.姓名 AS 登记人, 服务信息.登记时间, 服务信息.服务人ID, 员工.姓名 AS 服务人, 服务信息.服务开始时间, 服务信息.服务结束时间, 服务信息.处理结果, 服务信息.客户意见, 服务信息.备注, 服务信息.状态
FROM 客户, 故障, 产品, 服务信息, 员工
WHERE 产品.编号 = 服务信息.产品ID and 故障.编号 = 服务信息.故障ID and 客户.编号 = 服务信息.客户ID and 服务信息.登记人ID=员工.编号]. AS a, [SELECT 服务信息.编号, 服务信息.维修单号, 服务信息.客户ID, 客户.名称 AS 客户名称, 客户.地址 AS 客户地址, 客户.负责人, 客户.负责人电话, 客户.管理员, 客户.管理员电话, 服务信息.报修者姓名, 服务信息.报修者地址, 服务信息.报修者电话, 服务信息.产品ID, 产品.名称 AS 产品, 产品.型号, 服务信息.数量, 服务信息.故障ID, 故障.名称 AS 故障名称, 服务信息.登记人ID, 员工.姓名 AS 登记人, 服务信息.登记时间, 服务信息.服务人ID, 员工.姓名 AS 服务人, 服务信息.服务开始时间, 服务信息.服务结束时间, 服务信息.处理结果, 服务信息.客户意见, 服务信息.备注, 服务信息.状态
FROM 客户, 故障, 产品, 服务信息, 员工
WHERE 产品.编号 = 服务信息.产品ID and 故障.编号 = 服务信息.故障ID and 客户.编号 = 服务信息.客户ID and 服务信息.服务人ID=员工.编号]. AS b
WHERE a.编号=b.编号;
作者:段利庆 QQ:14035344