Mysql 遍历数组并在ruby中使用变量

Mysql 遍历数组并在ruby中使用变量,mysql,ruby,dashing,Mysql,Ruby,Dashing,嘿,我是个十足的红宝石迷,希望你能帮我。 我想对不同的部门(部门a、部门B、部门C……)进行大量SQL查询 我想将部门保存到一个数组中,并对其进行迭代、使用循环等等 这是我的旧代码: #!/usr/bin/ruby require 'mysql2' ##Connect to my Database db = Mysql2::Client.new(:host => "localhost", :username => "MyUserName", :password => "MyPa

嘿,我是个十足的红宝石迷,希望你能帮我。 我想对不同的部门(部门a、部门B、部门C……)进行大量SQL查询

我想将部门保存到一个数组中,并对其进行迭代、使用循环等等

这是我的旧代码:

#!/usr/bin/ruby
require 'mysql2'
##Connect to my Database
db = Mysql2::Client.new(:host => "localhost", :username => "MyUserName", :password => "MyPassword", :port => 3306, :database => "MyTest-Database" )

#Mysql querys
sql_A= "SELECT RMKPI FROM `Table1` WHERE `Department` = 'A' "
sql_B= "SELECT RMKPI FROM `Table1` WHERE `Department` = 'B' "

#Execute the querys
results_PO = db.query(sql_A)
results_DevMuM = db.query(sql_A)
这是我的伪代码:

Array1[A,B,...]
loop
   sql_Array1[x]="SELECT ...WHERE `Department`= Array1[x]"
   Array1[x+1]
我该怎么做? 非常感谢

DEPARTMENTS = %w|A B C|
results = DEPARTMENTS.map do |department|
  query = "SELECT RMKPI FROM `Table1` WHERE `Department` = '#{department}'"
  [department, db.query(query)]
end.to_h
现在您有了一个
{部门的散列⇒ 结果}
。要访问给定部门的结果,请使用:

results['A']

SeNoTo:我建议你使用谷歌的代码> ActureCordR/<代码>或其他任何ROM来简化和提高数据库查询的安全性。

如果你发现答案是有用的,你应该考虑选择它。