我们正在尝试识别另一个表中包含2个或多个不同代码的患者。表格中大约有20个左右的密码,患者必须拥有2个以上的密码才能符合标准。您将如何编写一个使之生效的声明?我想用伪代码尝试实现以下目标:
从表中选择* *从两个表中匹配特定ID的代码超过2个
## app/models/incidental.rb
class Incidental < ApplicationRecord
scope :electro -> { where category: 'electro' }
...
...
end
在此示例中,唯一应返回的内容是:127306
我尝试使用HAVING的变体,但未按预期工作。
答案 0 :(得分:2)
您要join
到另一个表,进行汇总和过滤:
select t.id
from t join
codes c
on t.code = c.code
group by t.id
having count(distinct t.code) >= 2;
答案 1 :(得分:0)
必须在HAVING子句中设置条件,如下所示:
select id
from tablename
group by id
having count(distinct code) > 2
请参见link。