mysql - 遍历 Array 并在 ruby​​ 中使用变量

标签 mysql ruby dashing

嘿,我是一个绝对的 ruby 菜鸟,希望你能帮助我。 我想对不同部门(部门 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

现在你有一个 { departments ⇒ results } 的散列。要访问给定部门的结果,请使用:

results['A']

旁注:我建议您在 google 上搜索 ActiveRecord 或任何其他 ROM,以简化并提高数据库查询工作的安全性。

关于mysql - 遍历 Array 并在 ruby​​ 中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38912131/

相关文章:

PHP/MySQL : Retrieve a single path in the Adjacency List model

jquery - 将 jQuery 与 SQL 结合起来

ruby - 设置未初始化的实例变量

python - django-dashing 未正确设置

mysql - 创建 MySQL 和 SQLServer 兼容对象

mysql - 我可以确定或限制允许使用的内存查询量吗

ruby - Jekyll livereload 浏览器未连接

ruby - 哈希数组中特定键的聚合值

python - 无法让 django dashing 示例工作

ruby - 与 Excel 数据一起使用以显示在 Dashing Dashboard 上吗?