SQL查询检查员工的所有记录

时间:2017-12-05 15:29:42

标签: sql

我想检查所有员工和位置。一个地方有多名员工。所以我的条件是我希望所有员工身份都处于非活动状态的所有地点。

例如emp表是

email

结果应为

 Collections.sort(usersList, new Comparator<User>() {
            @Override
            public int compare(User obj1, User obj2) {
                int res = 0;

               //to make sure null names at the end

                if (obj1.getFullName() == null && obj2.getFullName()  == null)
                    res = 0;

                if (obj1.getFullName()  == null)
                    res = 1;

                if (obj2.getFullName() == null)
                    res = -1;

                //logic for name sorting then email sorting

                if (obj1.getFullName() != null  && obj2.getFullName() != null)
                    res = obj1.getFullName().compareTo(obj2.getFullName());

                if (res == 0)
                    res = obj1.getEmail().compareTo(obj2.getEmail());

                return res;
            }
        });

2 个答案:

答案 0 :(得分:1)

如果您希望所有状态都处于非活动状态的位置,我建议group by

select loc
from t
group by loc
having min(status) = max(status) and min(status) = 'inactive';

答案 1 :(得分:0)

这个怎么样?

SELECT DISTINCT loc, status
  FROM my_table
 WHERE loc NOT IN (SELECT DISTINCT loc WHERE status = 'active);

这将为您提供所有未激活的位置。