设计实现在一条记录中外键关联到另一个表的两条记录功能的SQL查询

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

            

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值