gpt4 book ai didi

ruby-on-rails - 从患有特定疾病的用户那里查找疾病

转载 作者:行者123 更新时间:2023-11-29 14:00:43 25 4
gpt4 key购买 nike

编辑:

我试图从患有疾病 A 的用户那里获取所有其他疾病。

老问题(错误):

我试图让患有某种疾病的用户也患上其他疾病:

class User
has_many :treatments
end

class Disease
has_many :treatments
end

class Treatment
belongs_to :user
belongs_to :disease
end

我有一些工作代码:

获取所有患有特定疾病的用户 ID:

user_ids = Treatment.joins(:user).where(disease_id: 250).pluck(:user_id)

根据用户id获取所有疾病

Disease.where("id != 250").where(id: Treatment.select("DISTINCT disease_id").where(user_id: user_ids))

有没有更简单的方法?也许一个查询?

最佳答案

编辑:如果你想使用一个查询,你可以使用这个:

select distinct d1.id from diseases as d1 
JOIN treatments as t1 on d1.id=t1.disease_id
where exists (
select t2.id from treatments as t2
where t2.disease_id = 250 AND t2.user_id=t1.user_id
) AND d1.id <> 250;

关于ruby-on-rails - 从患有特定疾病的用户那里查找疾病,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19763458/

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