我有以下内容:
recs = conn.execute sql
输出:
[{"mk1"=>"test007", 0=>"test007"}, {"mk1"=>"test009", 0=>"test009"}, {"mk1"=>"test0010", 0=>"test0010"}, {"mk1"=>"test00112", 0=>"test00112"}, {"mk1"=>"test345", 0=>"test345"}, {"mk1"=>"testprüfer", 0=>"testprüfer"}, {"mk1"=>"test3455", 0=>"test3455"}, {"mk1"=>"aaaa", 0=>"aaaa"}, {"mk1"=>"pat1", 0=>"pat1"}, {"mk1"=>"pat222", 0=>"pat222"}, {"mk1"=>"poook_patient", 0=>"poook_patient"}, {"mk1"=>"sylviaparient", 0=>"sylviaparient"}, {"mk1"=>"patient_of_sylvia", 0=>"patient_of_sylvia"}, {"mk1"=>"test0005", 0=>"test0005"}, {"mk1"=>"test0006", 0=>"test0006"}]
有没有一种快速方法可以通过使用“执行”而不是其他东西来获取“mk1”的值? 如果可能的话,我想比这更快:
mk1s = []
recs.each{|l| mks1s.push(l["mk1"]) }
提前谢谢。
答案 0 :(得分:1)
select_values
方法执行此操作。
connection.select_values 'select mk1 from ...'
将返回这些值的数组。如果您的select语句产生多个列,它将忽略第一个列以外的列。