gpt4 book ai didi

mysql - SQL选择基于多行键的两部分组合键的一半?

转载 作者:行者123 更新时间:2023-11-30 23:31:42 26 4
gpt4 key购买 nike

我有一个包含这样一个复合键的表:

========TABLE========
key_a_col | key_b_col

场景:

key_b 是 'foo',在 key_a 下有一个 'bar' 和 'baz' 条目。另一个 key_b 'fiz' 有 'bar' 和 'raz'。

像这样:

========TABLE========
key_a_col | key_b_col
'bar' | 'foo'
'baz' | 'foo'
'bar' | 'fiz'
'raz' | 'fiz'

我想选择在 key_a_col 中同时有“bar”和“baz”与之配对的所有 key_b 条目。所以 'foo' 会被返回(bar|foo 和 baz|foo 存在),而 'fiz' 不会(只有 fiz|bar 匹配)。

我怎样才能做到这一点?

最佳答案

ypercube 的链接应该给你一个想法,但如果你想更进一步到 N 个条件,你将必须进行 N 个连接。

这是另一种方法,您可以使用它来执行任意条件而无需连接。用你的 'biz' 和 'baz' 创建一个表 Conditions

SELECT DISTINCT col_b FROM Table t1 
WHERE ( SELECT COUNT(*) FROM Table t2
INNER JOIN Condition c on t2.key_b = c.condition
WHERE t1.key_a = t2.key_a
GROUP BY t1.key_a) =
(SELECT COUNT(*) FROM CONDITION)

关于mysql - SQL选择基于多行键的两部分组合键的一半?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10238721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com