Я почти там, но нужно немного толкнуть.MySQL. Создание представления с использованием подзапроса. Несколько таблиц
У меня есть следующие таблицы:
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 |
+------------+-------------------------+-----------+-------------+------+-------+----------------+
Мне нужно создать представление с использованием столбцов EMP_NO, Apellido и OFICIO из таблицы EMPLEADOS и CLIENTE_NO, NOMBRE из таблицы CLIENTES. Задача состоит в том, чтобы создать представление обо всех сотрудниках и соответствующих им (назначенных) клиентах (ссылка здесь: emp_no в таблице EMPLEADOS такая же, как VENDEDOR_NO в таблице CLIENTES), но список должен включать всех сотрудников, прежде чем те, У них есть клиенты, назначенные им. И этот бит - это то, с чем я борюсь.
Что у меня есть:
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;
Но это, конечно, создает представление только сотрудников, которые имеют некоторые клиенты, назначенные им. Пожалуйста помоги.
Вам необходимо прекратить использование неявных объединений. Они были заменены на более чем 20 лет явным присоединением по очень веским причинам. – HLGEM