为了账号安全,请及时绑定邮箱和手机立即绑定

检索 a 列值,其中主键是元组 (a,b),并且对于 b' 值的给定列表

检索 a 列值,其中主键是元组 (a,b),并且对于 b' 值的给定列表

潇潇雨雨 2023-07-11 15:16:12
我有一个 A|B|C 形式的表,其中 (A,B)中的元组 (a,b ) 是主键。我有 B 的值 (BVAL) 列表,并且需要 A 列中的元素,其中存在 BVAL中b' 的类型 (a,b') 的每个值的行条目。目前,我已经实现了一个脚本,该脚本检索 BVAL 的第一个元素的第一个所有 (a,b''),然后迭代并细化列表,直到 BVAL 的最后一个元素。我相信在大型数据库中它会很慢,并且相信存在更快的解决方案。将不胜感激任何帮助。假设我们有下表:+---+---+| A | B |+---+---+| 1 | 1 || 1 | 2 || 1 | 3 || 1 | 4 || 2 | 1 || 2 | 2 || 3 | 1 |+---+---+如果 BVAL 列表由 (1,2) 组成,则查询应返回 1 和 2
查看完整描述

2 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

我理解您想要a具有所有b值的 s 。如果是这样,您可以使用group byand having:


select a

from mytable

where b in (1, 2)   -- either value

group by a

having count(*) = 2 -- both match 


查看完整回答
反对 回复 2023-07-11
?
慕少森

TA贡献2019条经验 获得超9个赞

这是你想要的吗?


select distinct a

from t

where b in ( . .  . );  -- list of b values here


查看完整回答
反对 回复 2023-07-11
  • 2 回答
  • 0 关注
  • 93 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信