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

我有一个 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


潇潇雨雨
浏览 94回答 2
2回答

临摹微笑

我理解您想要a具有所有b值的 s 。如果是这样,您可以使用group byand having:select afrom mytablewhere b in (1, 2)   -- either valuegroup by ahaving count(*) = 2 -- both match 

慕少森

这是你想要的吗?select distinct afrom twhere b in ( . .  . );  -- list of b values here
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python