我有一个非常大的数组,大约有100个条目,每个元素就像'ab12ef'一样。 这个数组的名称是 a_ids 。
a_ids=["ab12ef", "cd23gh"]
我需要在我的mysql查询中使用该数组。我使用它如下:
SELECT SUM((IF(id in (#{a_ids.join(',')}),1,0)) a_count from tab group by id;
但问题是生成的最终查询是这样的:
SELECT SUM(IF(id in (ab12ef, cd23gh),1,0)) a_count from tab group by id;
它不起作用,因为我认为应该是这样的:
SELECT SUM(IF(id in ('ab12ef', 'cd23gh'),1,0)) a_count from tab group by id;
我不知道如何解决这个问题。
答案 0 :(得分:0)
使用以下映射:
a_ids.map {|v| "'#{v}'" }.join(',')