Alexandr Tsvetkov Asked:2023-09-23 23:24:16 +0000 UTC2023-09-23 23:24:16 +0000 UTC 2023-09-23 23:24:16 +0000 UTC 将同一个表中的两行打印到一行中 772 数据库有相关的表如下(见图) 您需要创建一个视图来显示有关企业的数据:名称、所有权类型、地址、经理、章节。精力充沛 问题是最后两个的输出。即需要在一张表中显示每个企业的经理姓名和电话号码、电力总工程师的姓名和电话号码,这些数据都在一张表中(员工) 如何用 SQL 编写这样的查询? sql 1 个回答 Voted Best Answer SwaD 2023-09-23T23:34:59Z2023-09-23T23:34:59Z 显示数据的请求可能如下所示: select e.name company_name , e.address company_addres , e.ownershipform company_form , em.name manager_name , em.surname manager_f , ec.name chief_name , ec.surname chief_f from enterprises e join managers m on on e.manager = m.id join employess em on m.manager = em.id join cpes c on e.chiefpowerengineer = c.id join employess ec on c.cpe = ec.id 其中:alias em 是经理的数据,alias ec 是老板的数据。 重要的! 如果老板或经理可能不在企业表中,则必须将JOIN替换为LEFT JOIN,否则记录将根本不会出现在选择中 您需要停止将表视为单个且不可分割的实体。同一个表可以在查询中多次出现。
显示数据的请求可能如下所示:
其中:alias em 是经理的数据,alias ec 是老板的数据。
您需要停止将表视为单个且不可分割的实体。同一个表可以在查询中多次出现。