我有以下数据表
emp_no emp_name 登录 HOD_code 级别
E43057 Ankita Barde 9:45 P00212 直接
E33995 Rakesh Sharma 8:15 P00212 直接
E31446 阿米特·辛格 10:45 P00212 直接
E44920 Shweta 药膏 9:38 E33995 间接
E39787 Anita Shenoy 9:15 E31446 间接
E37731 Ramesh Shukla 9:10 E31446 间接
E43455 Manish Shukla 11:01 E33995 间接
E43130 Lubna Shaikh 9:39 E33995 间接
在上表中,我有一个 HOD 代码 (P00212) 优于所有代码,因此在 P00212 下映射的员工被指定为 LEVEL 列中的直接员工,所有其他员工都间接指向 P00212。但是这个间接员工被映射到直接员工下
例如:P00212 是 Rakesh Sharma (E33995) 的 HOD,E33995 是其他 3 名员工的 HOD,即 Shweta(E44920)、E43455、E43130。所以我想以这样的方式编写查询,输出将如下所示
输出:
emp_no emp_name 登录 HOD_NO 级别
E43057 Ankita Barde 9:45 P00212 直接
E33995 Rakesh Sharma 8:15 P00212 直接
E43455 Manish Shukla 11:01 E33995 间接
E43130 Lubna Shaikh 9:39 E33995 间接
E44920 Shweta 药膏 9:38 E33995 间接
E31446 阿米特·辛格 10:45 P00212 直接
E39787 Anita Shenoy 9:15 E31446 间接
E37731 Ramesh Shukla 9:10 E31446 间接
我怎样才能做到这一点?
最佳答案
select * from t
order by CASE WHEN HOD_CODE='P00212' THEN EMP_NO ELSE HOD_CODE END,
CASE WHEN HOD_CODE='P00212' THEN 0 ELSE 1 END
关于mysql - 如何使用sql查询将同一字段分组在一个字段下,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14645969/