gpt4 book ai didi

php - 从转换表中选择完全匹配的记录

转载 作者:太空宇宙 更新时间:2023-11-03 12:26:22 24 4
gpt4 key购买 nike

大家好,我有一个表,其中有两列 trial_id , category_id

我附上图片以便它变得更清晰。

当我想要包含 category_idtrial_id 记录时,我可以运行类似

的查询
 SELECT * FROM `trial_category` WHERE category_id IN ( 259, 260 )

你可以设置 trial_id 将这两个 category_id 关联起来

我的问题是,现在我想要与这两个 category_id 完全匹配的 trial_id 我该怎么做?

意味着如果你注意到只有 trial_id 73 有 259 和 260 category_id 那么我的结果应该只有 73。

谢谢 enter image description here

最佳答案

这是一个“set-within-sets”子查询的例子。这是一个使用 group byhaving 子句的解决方案:

SELECT trial_id
FROM trial_category
group by trial_id
having sum(case when category_id = 259 then 1 else 0 end) > 0 and
sum(case when category_id = 260 then 1 else 0 end) > 0;

当其中一行具有特定类别时,having 子句中的每个条件都得到满足。您可以看到这如何轻松地推广到更多类别。或者甚至是案例 259 而不是 260 和 261。

如果您恰好想要这两个类别,您可以通过添加以下子句过滤没有任何其他类别的行:

       sum(case when category_id not in (259, 260) then 1 else 0 end) = 0;

在 ( 259, 260 )

关于php - 从转换表中选择完全匹配的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17445914/

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