создать представление для 1 таблицы и 2 представлений и стать 1 строкой в ​​MYSQL - PullRequest
0 голосов
/ 06 марта 2020

Halo, ребята, я новичок ie, и мне нужно решение для моей домашней работы.

для первого извинения, если мой Engli sh не годится.

  1. поэтому у меня есть 2 таблицы, 1 таблица - данные о сотрудниках (имя таблицы - emp), а другая - время и время сотрудников (имя таблицы - att_punches), с флагом 0 для времени и флагом 1 для тайм-аут.
  2. я сделал два представления из att_punches для разделения time_in и time_out, есть vw_in и vw_out.

в некоторых случаях сотрудники забывают пробивать, когда они приходят или когда они go возвращаются домой, и если они не приходят, то, конечно, они не пробивают.

мне нужен вид, который может показать дата и кто не бьет, когда они приходят или go домой и не бьют по работнику, который не приходит.

* 1 030 * я присоединился к таблице с 2 представлениями, но только с 1 датой, запрос, подобный этому
SELECT a.emp_pin, a.emp_name, 
       CASE WHEN b.date IS NULL THEN c.date ELSE b.date END AS DATE, 
       b.time_in, c.time_out
FROM   emp a
LEFT OUTER JOIN (SELECT emp_pin, emp_name, DATE, time_in 
                   FROM vw_in WHERE DATE = '2020-02-05') b
             ON a.emp_pin = b.emp_pin
LEFT OUTER JOIN (SELECT emp_pin, emp_name, DATE, time_out  
                  FROM vw_out WHERE DATE = '2020-02-05') c
             ON a.emp_pin = c.emp_pin;

результат, подобный этому введите описание изображения здесь

все, что я хочу, это сделать все данные в одном представлении, поэтому, когда мне нужно увидеть, кого сотрудники не бьют, когда приходят или возвращаются, а кого нет на сегодня, просто сделайте select * from [view_name] where date between [start_date] and [until_date]

I ' мы подготовили таблицу и данные для таблицы emp & att_punches здесь.

большое спасибо.

...