gpt4 book ai didi

MySQL。使用子查询创建 View 。多个表

转载 作者:太空宇宙 更新时间:2023-11-03 10:40:25 24 4
gpt4 key购买 nike

我快到了,但需要一点插入。

我有下表:

EMPLEADOS(员工):

+--------+----------+------------+----------+------------+---------+----------+--------+
| EMP_NO | APELLIDO | OFICIO | DIRECTOR | FECHA_ALTA | SALARIO | COMISION | DEP_NO |
+--------+----------+------------+----------+------------+---------+----------+--------+
| 7499 | ALONSO | VENDEDOR | 7698 | 1981-02-23 | 1400.00 | 400.00 | 30 |
| 7521 | LOPEZ | EMPLEADO | 7782 | 1981-05-08 | 1350.50 | NULL | 10 |
| 7654 | MARTIN | VENDEDOR | 7698 | 1981-09-28 | 1500.00 | 1600.00 | 30 |
| 7698 | GARRIDO | DIRECTOR | 7839 | 1981-05-01 | 3850.12 | NULL | 30 |
| 7782 | MARTINEZ | DIRECTOR | 7839 | 1981-06-09 | 2450.00 | NULL | 10 |
| 7839 | REY | PRESIDENTE | NULL | 1981-11-17 | 6000.00 | NULL | 10 |
| 7844 | CALVO | VENDEDOR | 7698 | 1981-09-08 | 1800.00 | 0.00 | 30 |
| 7876 | GIL | ANALISTA | 7782 | 1982-05-06 | 3350.00 | NULL | 20 |
| 7900 | JIMENEZ | EMPLEADO | 7782 | 1983-03-24 | 1400.00 | NULL | 20 |
+--------+----------+------------+----------+------------+---------+----------+--------+

CLIENTES(客户端):

+------------+-------------------------+-----------+-------------+------+-------+----------------+
| CLIENTE_NO | NOMBRE | LOCALIDAD | VENDEDOR_NO | DEBE | HABER | LIMITE_CREDITO |
+------------+-------------------------+-----------+-------------+------+-------+----------------+
| 101 | DISTRIBUCIONES GOMEZ | MADRID | 7499 | 0.00 | 0.00 | 5000.00 |
| 102 | LOGITRONICA S.L | BARCELONA | 7654 | 0.00 | 0.00 | 5000.00 |
| 103 | INDUSTRIAS LACTEAS S.A. | LAS ROZAS | 7844 | 0.00 | 0.00 | 10000.00 |
| 104 | TALLERES ESTESO S.A. | SEVILLA | 7654 | 0.00 | 0.00 | 5000.00 |
| 105 | EDICIONES SANZ | BARCELONA | 7499 | 0.00 | 0.00 | 5000.00 |
| 106 | SIGNOLOGIC S.A. | MADRID | 7654 | 0.00 | 0.00 | 5000.00 |
| 107 | MARTIN Y ASOCIADOS S.L. | ARAVACA | 7844 | 0.00 | 0.00 | 10000.00 |
| 108 | MANUFACTURAS ALI S.A. | SEVILLA | 7654 | 0.00 | 0.00 | 5000.00 |
+------------+-------------------------+-----------+-------------+------+-------+----------------+

我需要使用表 EMPLEADOS 中的列 EMP_NO、APELLIDO 和 OFICIO 以及表 CLIENTES 中的 CLIENTE_NO、NOMBRE 创建 View 。任务是创建所有员工的 View 以及与他们(分配的)客户对应的 View (此处引用的是 EMPLEADOS 表中的 emp_no 与表 CLIENTES 中的 VENDEDOR_NO 相同)但是该列表必须包括所有员工,即使他们不没有任何客户分配给他们。这一点是我正在努力解决的问题。

我得到的是:

create view V_EMPLEADOS (EMP_NO, APELLIDO, OFICIO, CLIENTE_NO, NOMBRE_CL) AS
-> select em.emp_no, em.apellido, em.oficio, cl.cliente_no, cl.nombre
-> from EMPLEADOS em, CLIENTES cl
-> where em.emp_no = cl.vendedor_no;

但是,当然,这只会创建分配了一些客户的员工的 View 。请帮忙。

最佳答案

你想要一个左连接:

create view V_EMPLEADOS (EMP_NO, APELLIDO, OFICIO, CLIENTE_NO, NOMBRE_CL) AS
select em.emp_no, em.apellido, em.oficio, cl.cliente_no, cl.nombre
from EMPLEADOS em left join
CLIENTES cl
on em.emp_no = cl.vendedor_no;

简单规则:永远不要FROM 子句中使用逗号。 始终ON 子句中使用正确、明确的 JOIN 语法和条件。

关于MySQL。使用子查询创建 View 。多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39578873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com