从1个表和2个视图中创建视图,并在MYSQL中成为1行
Halo伙计们,我是个新手,我的家庭作业需要解决方案 首先,如果我的英语不好,我很抱歉从1个表和2个视图中创建视图,并在MYSQL中成为1行,mysql,view,Mysql,View,Halo伙计们,我是个新手,我的家庭作业需要解决方案 首先,如果我的英语不好,我很抱歉 所以我有两个表,一个表是employees数据(表名是emp),另一个是 员工的进出时间(表名为att_punchs),标记0表示进出时间 标志1表示超时 我已经从att_Punchs提出了两种观点来区分时间输入和时间输出,分别是vw_输入和vw_输出 表emp 大众汽车 大众汽车公司 有些情况下,员工来或回家时忘记打卡,如果他们不来,他们当然不会打卡 我需要一个视图,可以显示日期和谁不打卡时,他们来
- 表emp
- 大众汽车
- 大众汽车公司
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;
结果是这样的
我只想在一个视图中生成所有数据,因此当我需要查看哪些员工在回来或回来时不打卡,哪些员工今天不来时,只需从[view_name]中选择*,其中日期介于[start_date]和[until_date]之间。
我已经为表emp
和att_punchs
非常感谢。创建视图是任务的一项特定要求吗?是的,这是一项特定要求。这很遗憾,因为在MySQL中查询视图的效率非常低。我想是的,但这是一项要求。你能告诉我有效的方法吗?