gpt4 book ai didi

使用 Ruby 数组的 SQL 查询 IN

转载 作者:数据小太阳 更新时间:2023-10-29 07:41:06 25 4
gpt4 key购买 nike

我在 ruby​​ 2.0.0 中有一个数组,@temp = [3, 4] 我想在 SQL IN 语句中使用它。所以我想删除括号 ([, ])。

我的 SQL 查询:

SELECT E.id,E.name, CEU.attempt, E.total_mark, CEU.has_attended as attendance, CE.id as categoryexamId, CE.examtype_id as examType, CU.id as categoryuserId, U.name as username

FROM exams E
Inner Join categoryexams CE on E.id = CE.exam_id
Inner Join categoryexamusers CEU on CE.id = CEU.categoryexam_id
Inner Join categoryusers CU on CEU.categoryuser_id = CU.id
Inner Join categories C on CE.category_id = C.id
Inner Join users U on CU.user_id = U.id
Inner Join examtypes ET on CE.examtype_id = ET.id
WHERE CE.category_id = #{category_id} AND CEU.has_attended = 1 AND U.id = #{user} AND CE.currentyear = #{academicYear} AND CE.examtype_id = #{examtype}" + (@temp.blank? ? "" : " AND CEU.categoryexam_id NOT IN (#{@temp})") +
" Group By CE.id;

最佳答案

使用Active Record,在使用“哈希条件”格式时,直接使用数组即可,它会自动将其转换为正确的SQL:

MyModel.where(column: [3, 4])

请参阅有关 Active Record 查询的 Rails 指南 "Subset Conditions" 2.3.3

关于使用 Ruby 数组的 SQL 查询 IN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18301348/

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