【发布时间】:2018-01-06 19:11:18
【问题描述】:
我有一个具有以下架构的表
(Id(int PK),EmployeeId(int),DepartmentId(int),IsSelfAccessToDepartment(bit))
此表可以包含以下条目
(1,101,21,1)
(2,101,22,0)
(3,102,21,1)
(4,103,21,1)
(5,103,22,0)
我只想检索 IsSelfAccessToDepartment=1 的员工 ID,即如果同一员工 ID 有另一个条目 IsSelfAccessToDepartment=0,在这种情况下不应检索此行。
问题是我想在不使用任何子查询和连接的情况下检索此信息,因为它会产生性能问题,因为此表将包含数百万个条目。
【问题讨论】:
-
mysql 还是 sql server?
-
select * from table_name where IsSelfAccessToDepartment=1;
-
@JYoThI 是的,但他说他只想要他们的 id 只有一行的员工,其值为 1。也就是说,他不想看到有 2 行的员工
-
这是一个基本的 SQL 查询 where 条件。为什么还要考虑使用子查询?你也尝试过什么?
-
@MenelaosBakopoulos 他想要一个只包含“102”的结果集;他根本不想为“101”和“103”返回行
标签: mysql sql sql-server database