如何选择具有与给定值列表完全匹配的外键的主键?

2024-01-19

例如:

pk_ref    fk
======    ===
1         a
1         b
1         c
2         a
2         b
2         d

如何执行类似“伪”查询的查询:

select distinc pk_ref
where fk in all('a', 'c');

返回的查询结果必须与列表中外键的所有给定值匹配。

结果应该是:

1

而以下 select 不得返回任何记录。

select distinc pk_ref
where fk in all('a', 'c', 'd');

我怎么做?


尝试这个

select pk_ref 
from yourtable 
group by pk_ref 
having count(case when fk = 'a',  then 1 end) >= 1 
and count(case when fk = 'c' then 1 end) >= 1

动态地进行。 (考虑到您正在使用 SQL SERVER)

创建分割字符串函数并将输入作为逗号分隔值传递

Declare @input varchar(8000)= 'a,c',@cnt int 

set @cnt = len(@input)-len(replace(@input,',','')) + 1

select pk_ref 
from yourtable 
Where fk in (select split_values from udf_splitstring(@input , ','))
group by pk_ref 
having count(Distinct fk) >= @cnt 

您可以从以下链接创建分割字符串函数

https://sqlperformance.com/2012/07/t-sql-queries/split-strings https://sqlperformance.com/2012/07/t-sql-queries/split-strings

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

如何选择具有与给定值列表完全匹配的外键的主键? 的相关文章

  • SQL 更新 - 更新选定的行

    我正在使用 SQL Server 2008 我有一个名为MYTABLE有两列 ID STATUS 我想编写一个存储过程来返回其记录STATUS是 0 但是这个存储过程必须更新STATUS返回行数为 1 如何在单个查询中执行此选择和更新操作
  • SQL:在行中保留计数或从数据库中选择计数

    示例 我有 2 张桌子 类别 Posts 在这样的类别中保留帖子编号是一个好方法吗 类别 id title posts 1 golf 50 2 soccer 90 posts id title category id 1 news 1 1
  • 在 sqlplus 中执行 plsql 时将错误消息重定向到日志文件

    在 sqlplus 中执行 PL SQL 程序时 需要一种将 PL SQL 程序错误消息重定向到日志文件的方法 假设 PL SQL 程序名为send 2012 sql它有以下异常块 EXCEPTION WHEN NO DATA FOUND
  • MySQL 与 PostgreSQL JSON 搜索功能

    我一直在寻找一篇博客文章或一个功能矩阵 通过 JSON 功能对 MySQL 和 PostgreSQL 进行比较 我找到了一个好的Postgres 的特征矩阵 https www postgresql org about featuremat
  • mysql 版本号排序

    我有这样的价值观 1 1 2 9 1 2 2 4 1 2 3 4 3 2 14 3 2 1 4 2 我需要使用 mysql 对这些值进行排序 该数据类型是 varbinary 300 所需的输出将类似于 1 1 2 1 2 3 4 2 2
  • 删除连接中不存在的记录

    想象两个表 A 和 B A B 1 2 2 3 6 5 4 7 9 11 13 23 9 现在我想从 A 中删除 B 中不存在的记录 例如从 A 中删除 1 6 和 4 我最初的想法是您可以 否定 联接的结果 DELETE FROM A W
  • MySql如何将varchar(纬度,经度)转换为十进制字段?

    在 mysql 中 我有一个 varchar 其中包含 Google 地图提供的纬度和经度 我需要能够基于边界框值进行查询 但不需要现在可用的地理特征 我正在尝试使用 varchar 中找到的 Decimal 值填充 2 个新的 Decim
  • 返回日期为 null 作为 t-sql 中的最大值

    我有这张桌子 ID Date Value 3241 9 17 12 5 3241 9 16 12 100 3241 9 15 12 20 4355 9 16 12 12 4355 9 15 12 132 4355 9 14 12 4 100
  • Oracle 中仅在一列上不同

    我想在下表中使用不同的值 但仅在 PlayerID 列上使用 这就是我现在所拥有的 MATCHID PLAYERID TEAMID MATCHDATE STARTDATE 20 5 2 14 JAN 12 01 JUN 11 20 5 4
  • 查询和扫描多行性能缓慢

    下面的查询一行的执行时间为 6 18 分钟 Exception type 1 的基数值为 3 我不知道如何提高性能 Query select count 1 as rage tap from summary funnel 1066 s jo
  • MySQL为每个组创建带有序列号的视图

    我在此网站上看到了类似的解决方案 但由于变量使用限制 它在视图中不可用 在MySQL中为每个组生成序列 https stackoverflow com questions 30118096 generating sequence for e
  • 如何使用java避免Mysql数据库中的“数据因列被截断”?

    在我的 Java 程序中 Hibernate Bean 类定义一列 例如 TimtableVO java Column name REPEAT DAYS private WeekdayType repeatDays hear Weekday
  • Tomcat JDBC 池中没有足够的空闲连接

    给定以下 Tomcat JDBC 连接设置
  • 使用 order by 和 limit 从多个表中删除

    我试图从使用 ORDER BY DESC 和 LIMIT 有关系的两个表中删除 DELETE FROM my rel table AS t1 LEFT JOIN my photo table AS t2 ON t2 typeid t1 ty
  • 在查询中创建临时变量

    我希望能够在查询中创建一个临时变量 而不是存储过程或函数 它不需要声明和设置 这样我在调用它时就不需要传递查询参数 正在努力朝这个方向努力 Select field1 tempvariable 2 2 newlycreatedfield t
  • Mysql:将数据库从本地时间转换为UTC

    我需要从本地时间 ut UTC 转换现有的 日期时间字段 数据库 这些值和日期时间存储在时区为 CET 1 夏令时 2 的服务器上 选择我使用的数据时UNIX TIMESTAMP 它神奇地补偿了一切 即时区偏移和夏令时 如果我正确阅读了文档
  • 如何创建从表中最大值开始的 Oracle 序列?

    尝试在 Oracle 中创建一个以特定表中的最大值开始的序列 为什么这不起作用 CREATE SEQUENCE transaction sequence MINVALUE 0 START WITH SELECT MAX trans seq
  • 如何在 SQL 选择查询中将行转换为 JSON?

    以下查询将整个表返回为单个 JSON 字符串 JSON 对象列表 每行一个 SELECT FROM MyTable FOR JSON AUTO 我需要返回多行 其中每行都是表中单行的 JSON 字符串 例如 如果表字段为 A B C 输出应
  • SQL Server 选择所需存储过程的查询帮助

    我正在努力解决在存储过程中构造 sql select 查询所需的逻辑 我的数据库使用股票市场数据 我有一个 2012 年交易日期表 一个股票代码表以及一个通过网络服务列出这些代码和交易日期的每日定价数据表 我正在尝试从我正在处理的选择查询中
  • 如何在SQL Server中获取与正则表达式匹配的字符串的一部分

    我有一个要求 我需要解析列值以获取与其关联的工作请求编号 例如 列值可能包含 致力于 AB 0012589 or AB 0012589 已完成 或其中包含工作请求编号的任何内容 Here AB 0012589是工作请求编号 工作请求编号的格

随机推荐

  • Kotlin 类转换异常

    我是 Android 开发新手 我在教程中看到了这段代码 class MainActivity AppCompatActivity private val newNumber by lazy LazyThreadSafetyMode NON
  • BCP 导入错误“强制转换规范的字符值无效”

    全部 我使用 BCP 进行导入导出 并在尝试导入回来时仅 1 导出的第一行 行出现 强制转换规范的字符值无效 错误 表结构 Col1 数字 19 0 第 2 列 NVARCHAR 400 Col3 NVARCHAR 400 我正在使用以下命
  • 在动画中切换位置属性上的 CABasicAnimation 会导致闪烁

    我有一些代码使用 CALayers 使气泡从下到上流动 如果用户触摸屏幕 我会编写一些代码 将当前正在运行的动画替换为具有手指触摸的 toPoint 的动画 当动画切换时 它会导致设备上 而不是模拟器上 闪烁 任何有关消除闪烁的提示将不胜感
  • 获取html文件的最后修改日期

    在导入到我的网络应用程序中时 如何找出 html 文件的最后修改日期 html 文件位于另一台服务器上 不同的用户可以进行更新 当我检索页面时 我希望能够看到它的上次更新时间 以便我可以在主页上标记更新日期 我 我假设您正在使用 HTTP
  • “定义”数组元素的计数

    给定以下数组 var arr undefined undefined 2 5 undefined undefined 我想得到元素的数量are定义 即 那些是not undefined 除了循环遍历数组之外 还有什么好的方法吗 在最近的浏览
  • 为 Mac 版 docker 指定 IP 地址

    我在用着Mac 版 Docker 测试版它远离聚光灯 有什么方法可以从控制台运行它或强制使用任何配置文件来指定 docker 主机的 IP 地址 现在它从 192 168 64 3 更改为 192 168 64 5 每次启动 docker
  • 模型视图控制器设计模式代码示例

    我正在研究模型 视图 控制器设计模式 并且从理论上理解了该模式背后的概念 但我想了解一下人们如何实际将其付诸实践 维基百科提到了 Wt Web 工具包 CppCMS 和其他一些使用该模式的标准实现 但是我对这些并不熟悉 我只是希望和 如果有
  • 非交换的 symify(或简化)

    我希望能够简化 Python 中字符串的数学表达式 有几种 可交换 的方法可以做到这一点 是否有一个不可交换的函数 我知道sympify from sympy可以做一些非交换工作 这里有一个例子 from sympy import x Sy
  • 如何从magento中的愿望清单集合中删除项目

    在 Magento 中 我想删除或删除当前登录用户的愿望清单项目 目前 我通过启用复选框来选择愿望清单项目 然后使用 Mage getModel wishlist item gt load id gt delete 删除它们 我使用的代码片
  • 带类型参数的 PetaPoco 查询

    使用 PetaPoco 如何调用带有类型参数的存储过程 在 C 中我这样做 cmd Parameters Add email SqlDbType NVarChar Value email 查看文档 http www toptensoftwa
  • 有什么理由不使用 OrderedDict 吗?

    我指的是有序字典 http docs python org 2 library collections html collections OrderedDict来自collections模块 这是一个有序字典 如果它具有可订购的附加功能 我
  • 在 ag-grid 中显示嵌套 json

    我正在使用 Angular Grid ag grid 来显示数据 我正在尝试在我的角度网格中显示嵌套的 json 数据 但我没有成功 下面是示例 json 数据和 colDefs 请建议为什么点运算符不像 jqgrid 那样工作 无法使用嵌
  • 如何为 JTable 列添加 JXDatepicker

    我正在使用 JTable 我有一个日期列 当我单击一个单元格时 我需要在其中显示一个 JXDatePicker 以便我可以从中选择一个日期 有人可以告诉我该怎么做吗 谢谢 等待一个答复 你可能应该使用DatePickerCellEditor
  • 使用弧线和动态属性覆盖设置器

    我需要在 setter 方法中做一些额外的事情 但这样做时我遇到了无限循环 我有一个核心数据对象 interface Transaction NSManagedObject property nonatomic retain NSDate
  • 以纯文本形式将用户 ID 发送到前端是否安全?

    我有一个带有 MongoDB 的 Express 应用程序 它为每个用户文档创建一个用户 ID 该用户 ID 也以 jwt 进行编码 这给新开发人员造成了一种错觉 即用户 ID 不能以纯文本形式发送到前端 有人可以解释一下将用户 ID 发送
  • 将 mongoengine 与多处理结合使用 - 如何关闭 mongoengine 连接?

    无论我尝试什么 当尝试在 mongoengine 数据库上使用多处理时 我都会遇到有关不分叉活动 mongo 连接的 MongoClient 在 fork 之前打开 警告 这标准蒙戈建议 http api mongodb com pytho
  • 为什么类模板构造函数参数不自动确定? [复制]

    这个问题在这里已经有答案了 考虑下面的类 template
  • 调整 mat-form-field Angular Material 的高度

    我遇到了一个简单调整保存自动完成输入的 mat form field 的问题 从图像中您可以看到它是否超出了垫子工具栏的高度 但我还没有找到一种简单的方法来调整整个输入的高度 以便它可以保留在工具栏区域内 宽度效果很好 身高没有 在工具栏外
  • 使用 django-rest-framework 获取模型的随机对象

    在我的 Django 项目中 我需要提供一个视图以使用 django rest framework 从模型中获取随机对象 我有这个 ListAPIView class RandomObject generics ListAPIView qu
  • 如何选择具有与给定值列表完全匹配的外键的主键?

    例如 pk ref fk 1 a 1 b 1 c 2 a 2 b 2 d 如何执行类似 伪 查询的查询 select distinc pk ref where fk in all a c 返回的查询结果必须与列表中外键的所有给定值匹配 结果