如何在mysql中使用查询中的字符串数组

时间:2014-01-27 06:57:28

标签: mysql ruby

我有一个非常大的数组,大约有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;

我不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

使用以下映射:

a_ids.map {|v| "'#{v}'" }.join(',')