在同一列上使用多个 WHERE 条件进行 SELECTING

2023-12-04

好吧,我想我可能在这里忽略了一些明显/简单的东西...但是我需要编写一个查询,仅返回与同一列上的多个条件匹配的记录...

我的表是一个非常简单的链接设置,用于将标志应用于用户......

ID   contactid  flag        flag_type 
-----------------------------------
118  99         Volunteer   1 
119  99         Uploaded    2 
120  100        Via Import  3 
121  100        Volunteer   1  
122  100        Uploaded    2

等等...在这种情况下,您会看到联系人 99 和 100 都被标记为“志愿者”和“已上传”...

我需要做的是仅返回那些与通过搜索表单输入的多个条件匹配的 contactid...contactid 必须匹配所有选定的标志...在我的脑海中,SQL 应该类似于:

SELECT contactid 
 WHERE flag = 'Volunteer' 
   AND flag = 'Uploaded'...

但是...没有返回任何内容...我在这里做错了什么?


您可以使用GROUP BY and HAVING COUNT(*) = _:

SELECT contact_id
FROM your_table
WHERE flag IN ('Volunteer', 'Uploaded', ...)
GROUP BY contact_id
HAVING COUNT(*) = 2 -- // must match number in the WHERE flag IN (...) list

(假设contact_id, flag是独特的)。

或者使用连接:

SELECT T1.contact_id
FROM your_table T1
JOIN your_table T2 ON T1.contact_id = T2.contact_id AND T2.flag = 'Uploaded'
-- // more joins if necessary
WHERE T1.flag = 'Volunteer'

如果标志列表很长并且有很多匹配项,第一个可能会更快。如果标志列表很短并且匹配项很少,您可能会发现第二个更快。如果性能是一个问题,请尝试对您的数据进行测试,看看哪个效果最好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在同一列上使用多个 WHERE 条件进行 SELECTING 的相关文章

  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • 独立对列进行排序,使得所有空值都位于每列的最后

    这是一个名为的示例表animal name color fox brown fox red dog gold 现在 我想要的是这样的结果 fox dog brown gold red 名称应该是结果的列 不同颜色值作为行 我的第一个想法是
  • MySQL MIN/MAX 所有行

    我有桌子Races与行ID Name and TotalCP 我选择分钟 TotalCP FROM Races 但是我想选择具有最小值的整行 我如何在单个查询中做到这一点 从聚合值获取整行的一般形式是 SELECT FROM Races W
  • 在sqlite SQL语句中与order by子句结合使用limit

    下面的两条 SQL 语句总是会产生相同的结果集吗 1 SELECT FROM MyTable where Status 0 order by StartTime asc limit 10 2 SELECT FROM SELECT FROM
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • 了解 SSMS 2008 中关系的更新和删除规则

    当我们定义外键约束时 我对 SQL Server 2008 Management Studio 中的更新和删除规则的含义感到困惑 我也没有找到相关的帮助文档 例如F1帮助 这是屏幕快照 如果有人能描述它们的含义并推荐一些相关文档来阅读 我将
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c
  • MySQL连接字符集问题

    我在 Mac 上使用带有 MySQL 的 velosurf 没有任何编码问题 但是当我切换到 Linux 计算机时 从 velosurf 获得的值未正确编码 我发现这可能是默认连接字符集的问题 在 Mac 上我得到 mysql gt sho
  • 在服务器上找不到本地主机或 phpMyAdmin:如何修复?

    我按照安装说明进行操作PHP MySQL and PHPMyAdmin 但是当我尝试访问时http localhost phpmyadmin 我收到此错误 未找到 在此找不到请求的 URL phpmyadmin 服务器 然后我尝试访问loc
  • 如何 md5 所有列(无论类型如何)

    我想创建一个 sql 查询 或 plpgsql 它将 md5 所有给定的行 无论类型如何 但是 在下面 如果 1 为空 则哈希为空 UPDATE thetable SET hash md5 accountid accounttype cre
  • 内连接不重复,可以吗?

    鉴于这两个表 表 A1 有两行具有相同的值 a A1 a a 表 A2 有两行主键值为 A B 它们与 a 关联 A2 PK col2 A a B a 我想要的是 A1 和 A2 的连接并得到这个结果 a A a B 显然内连接在这里不起作
  • 为表中的每个组选择前 N 行

    我面临一个非常常见的问题 即 为表中的每个组选择前 N 行 考虑一个表id name hair colour score列 我想要一个结果集 对于每种头发颜色 都能得到前 3 名得分手的名字 为了解决这个问题 我得到了我所需要的Rick O
  • 月份增量查询

    我想通过添加 1 个月来更新数据库中的月份 但我不知道如何在以下存储过程查询中添加月份 我不擅长 sql 请检查它 ALTER PROCEDURE dbo ChangePassword password varchar 20 epasswo
  • 如何从shell脚本自动登录MySQL?

    我有一个 MySQL 服务器 其中有一个用户和密码 我想在 shell 脚本中执行一些 SQL 查询而不指定密码 如下所示 config sh MYSQL ROOT root MYSQL PASS password mysql sh sou
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 映射 mysql 中同一个表的多个值

    您好 我必须使用另一个表中的值 id 获取文本值 表 1 包含值 ID 表 2 包含名称和值 ID 表 1 SEVERITY OCCURENCE DETECTABILITY 2 3 4 表 2 id name value 1 Very Hi
  • 如何获得顶部带有千位分隔符的数字?

    SELECT count FROM table A 假设结果是8689 我怎样才能将它转换为8 689在 SQL Server 上 尝试这样 select replace convert varchar convert Money coun
  • 索引数量越少意味着插入、更新和删除速度更快? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 MySQL 中存储表情符号的编码问题:如何使用 Prisma ORM 在 NodeJS 中定义字符排序规则?

    亲爱的 Nodejs 专家和数据库专家 我们在 MySQL 数据库中存储表情符号和其他特殊字符时遇到问题 我们使用 Prisma 得到一个错误 这是我们使用的 ORM 参数无法从排序规则 utf8 general ci 转换为 utf8mb
  • 使用 postgres 和 node js 在单个语句中执行多个查询

    我需要在像这样的单个语句中执行插入和删除查询 INSERT INTO COMPANY ID NAME VALUES 1 Paul DELETE FROM COMPANY WHERE ID 12 这是我用于执行查询的 node js 代码 p

随机推荐

  • RestSharp - 反序列化具有无效键名的 json 响应(包含句点)

    我已经被困在这个问题上有一段时间了 我有一个 JSON 响应 向我发送包含句点的密钥 例如 cost center code 我怎样才能把它放到我的对象中 我没有收到任何错误 但该值只是作为 null 输入 并且没有被反序列化到我的类中 这
  • 使用tutorialspoint.com时出现NoSuchElementException

    所以我正在使用这个编译器站点编写我的代码 https www tutorialspoint com compile java online php 当我运行我的代码时 出现以下错误 Exception in thread main java
  • 最大化打印预览?

    有没有办法最大化打印预览对话框 我在属性窗口的控件上看不到任何最大化属性 它在属性页中不可用 因为您必须将 PrintPreviewDialog 转换为 Form 才能访问这些 Form 属性 DirectCast PrintPreview
  • Azure AD - SAML 单点注销 - 不支持的绑定 HTTP-POST

    我正在将 SAML 服务提供商与 MS AAD 集成 并且发现单点注销存在问题 我的服务提供商仅支持注销绑定 HTTP POST 而且AAD似乎只支持注销绑定 HTTP Redirect 根据我从 AAD 获得的 SAML 元数据 我认为是
  • 带和不带边界检查的 `std::bitset`

    再次关于STLstd bitset 它的文档说功能set reset test进行边界检查 并且operator 没有 我的计时实验表明功能set test通常比执行速度快 2 3 operator 我正在使用的代码是 typedef un
  • 将参数传递给 Swift 中的选择器函数[重复]

    这个问题在这里已经有答案了 我想通过一个范围到一个名为 a 的函数selector from a timer 具体参考一个cell这样我就可以更新一些内容UI 所以我想要这样的东西 timer Timer init timeInterval
  • 文档中键不同的多个字段平均聚合

    我得到的数据集如下 id ObjectId 592d4f43d69b643ac0cb9148 timestamp ISODate 2017 03 01T16 58 00 000Z Technique Meteo Direction moye
  • 将 IFrame 的 src 属性设置为 data:application/pdf;base64?

    将 IFrame 的 src 属性设置为 data application pdf base64 对我不起作用 有什么想法吗 这是 aspx 标记
  • Java - 设置首选项后备存储目录

    我需要在我的 Java 应用程序中创建一个持久存储 以便所有用户都可以访问它 所以我正在研究java util prefs Preferences并使用systemRoot 我在 Windows 上工作得很好 将数据保存在寄存器中 但我在
  • R 删除数据帧的第一行,直到第一行没有 NA

    我正在数据框上应用 na approx 如果 NA 恰好位于数据库的第一行或最后一行 则该方法将不起作用 如何编写执行以下操作的函数 当数据帧第一行的任何值为 NA 时 删除第一行 数据框示例 x1 x2 c 1 2 3 4 5 6 7 8
  • 如何为谷歌图表的x轴赋予样式?

    我正在实现 google 图表 我想为 x 轴数据提供样式 我发现下面的代码可以做到这一点 hAxis title Month textStyle fontSize 10 我想在文本数据下划线并将光标样式更改为指针 我在谷歌图表网站上搜索但
  • getter 和 setter 的设计是否糟糕?看到矛盾的建议[重复]

    这个问题在这里已经有答案了 我目前正在用 Java 开发一个具有几种不同模式的简单游戏 我扩展了一个主 Game 类 将主要逻辑放入其他类中 尽管如此 主要的游戏类别仍然相当庞大 快速浏览一下我的代码后 与游戏逻辑真正需要的其余部分相比 其
  • 是否有适用于 JVM 的 Web 框架可以在编译时检查数据绑定?

    通常 当您将某些属性绑定到 www 页面中的某些元素时 您在测试时就会知道拼写错误 我正在寻找 Web 框架 它在编译时会给我一个错误 我在绑定中犯了错误 找不到属性 或类似的东西 并假设我的 IDE 具有有效的重构机制 重命名属性也会影响
  • 如何在角度js中的按钮单击上使用过滤器

    您能告诉我如何在单击按钮时按升序或降序对数组进行排序吗 实际上我在标题 V 上有一个按钮 使用按钮单击我想按升序显示数据 实际上我正在 Ionic 中制作网格视图使用角度js 但我想使用按钮单击对其进行排序 我需要根据第一列对表进行排序 因
  • MySQL 是否比 PostgreSQL(在 Perl/DBI 下)更能抵抗 SQL 注入攻击?

    我正在审查一个基于 Linux 的 Perl Web 应用程序 其中包含一个具有普遍存在的登录处理程序 my sth DB gt prepare 从 userid userid 的密码中选择密码 或死 sth gt 执行或死亡 其中 use
  • 哪些操作系统支持 Java 中的本机(类似 inotify)文件监视

    JavaDoc 用于java nio file WatchService states 实施 是 旨在直接映射到本机文件事件通知 设施在可用的情况下 或使用原始机制 例如 当本机设施不可用时进行轮询 我认为这意味着它将在可能的情况下尝试一种
  • PostgreSQL NodeJS 中无法识别的配置参数“autocommit”

    message 翻译创建时出错 对于关键等等等等 名称 SequelizeDatabaseError stack SequelizeDatabaseError 无法识别的配置参数 自动提交 n Query module exports Qu
  • 使用 Intellij 和 JUnit 从控制台读取 System.in

    当通过 Idea 中的 main 运行代码时 以下代码运行良好 System in read 然而 junit 方法中的相同代码不起作用 public void testConsoleRead System in read 知道如何使这项工
  • 如何使 jQuery UI 可通过嵌套下拉菜单进行排序?

    我已阅读与此处发布的问题类似的所有内容 但没有找到任何解决方案 我创建了一个菜单 在下拉菜单中包含子菜单条目 所有菜单条目都可分类到所有菜单级别 根菜单条目到子列表 反之亦然 几乎一切都工作正常 但排序到第一个下拉列表会导致错误 不可能在第
  • 在同一列上使用多个 WHERE 条件进行 SELECTING

    好吧 我想我可能在这里忽略了一些明显 简单的东西 但是我需要编写一个查询 仅返回与同一列上的多个条件匹配的记录 我的表是一个非常简单的链接设置 用于将标志应用于用户 ID contactid flag flag type 118 99 Vo