SQL 选择在多行中验证条件的用户

法比奥

我有下表:

表服务-用户

第一列包含Services_ID,第二Users_ID和第三列指示用户是否已启用该服务。我需要确定(用户一次)哪些用户可以使用ID4 和 5两种服务

我用 Mysql 写了那个查询:

SELECT DISTINCT User 
  FROM tablexxx
 WHERE Service IN (4, 5)
   AND User NOT IN (SELECT User
                      FROM tablexxx
                     WHERE Service IN (4, 5)
                       AND Active = FALSE);

该查询有效,但是,是否有更好的技术方法来编写它?

正确的结果是:

结果

于尔根
select user
from your_table
where service in (4,5)
and active = TRUE
group by user
having count(distinct service) = 2

或者

select user
from your_table
group by user
having sum(active = TRUE and service = 4) > 0
   and sum(active = TRUE and service = 5) > 0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 SQL 中的多行中选择具有或不具有特定条件的组

来自分类Dev

如何在SQL中过滤多行条件

来自分类Dev

Firebird SQL选择多行

来自分类Dev

在多行上JOIN以在SQL Server中仅选择TOP行

来自分类Dev

sql查询从多行中只选择一行

来自分类Dev

更新sql表中的多行以选择复选框

来自分类Dev

SQL执行块错误:单例中的多行选择

来自分类Dev

更新sql表中的多行以选择复选框

来自分类Dev

SQL-为特定键选择多行中相同的数据

来自分类Dev

SQL中的单个条件选择查询

来自分类Dev

SQL基于多行值选择

来自分类Dev

SQL条件选择Oracle sql

来自分类Dev

在SQL中合并多行

来自分类Dev

更新SQL中的多行

来自分类Dev

CSV的SQL条件选择

来自分类Dev

SQL删除与选择条件

来自分类Dev

sql选择条件性能

来自分类Dev

SQL删除与选择条件

来自分类Dev

SQL条件列选择

来自分类Dev

SQL - 如果搜索条件与值之一匹配,则选择多行

来自分类Dev

如何验证用户对SQL表中特定行的访问?

来自分类Dev

查找在单个SQL查询中验证条件的行比例

来自分类Dev

查找在单个SQL查询中验证条件的行比例

来自分类Dev

SQL基于驱动程序表中多行中的数据选择目标表中的行

来自分类Dev

在PL / SQL中更新多行

来自分类Dev

SQL从多行中扣除值

来自分类Dev

在SQL中以sqlparameter插入多行

来自分类Dev

在SQL Server中合并多行

来自分类Dev

在PL / SQL中更新多行