我在 MySQL 数据库中有一个目录表,其中包含用户 ID、用户类型和各种其他目录信息。有两种类型的用户:employee
和student
。主键是(userID, userType)
,因此任何给定的用户都可以拥有一条employee
记录和一条student
记录(如果他们既是员工又是学生)。
我想对该表的一个子集执行查询,以便:
- 如果用户只有一个
employee
xorstudent
记录,则使用该记录,并且 - 如果用户同时拥有 an
employee
和一条student
记录,employee
则使用该student
记录并忽略该记录
我不需要ORDER BY
在查询中包含子句,但它们可以包含相当复杂的WHERE
子句(包括对userType
自身的查询)。
理想情况下,我希望这样做而不必创建额外的表或视图,但如果需要额外的视图,我可以向系统管理员询问CREATE VIEW
权限。