2016-08-12 8 views
1

ちょっと、私は絶対的なルビーnoobです。あなたが私を助けてくれることを願っています。 は、私は私が上のアレイに部署を保存し、それiteratethrough、ループを使用したいの異なる部門(部門A、B、C···)ルビで配列を繰り返して変数を使う

とSQL-querysの多くをしたいです。

これは私の古いコードです:

#!/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] 

私はこれをどのように行うことができますか? どうもありがとう

+0

答えが分かったら、それを選択することを検討する必要があります。 –

答えて

2
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'] 

追記:使用、特定の部門の結果にアクセスするには私はあなたが単純化し、データベースクエリでの作業をより安全にするためにActiveRecordまたは任意の他のROMのためにGoogleにお勧めします。

+0

大変ありがとう – Gutiu

関連する問題