DB[:patients].columns.select{|s| s.to_s =~ /city/}
=> [:city, :employer_city]

irb(main):006:0> DB[:patients].columns.select{|s| s.to_s =~ /city/}.
  inject(DB[:patients]){|ds, field| ds = ds.filter(field.like("%VILLE"))}

=> #<Sequel::MySQL::Dataset: "SELECT * FROM `patients` WHERE ((`city`
LIKE BINARY '%VILLE') AND (`employer_city` LIKE BINARY '%VILLE'))">

Michael

On Tue, Apr 12, 2011 at 8:55 AM, Jason Rogers <[email protected]> wrote:
> Have you tried this: city =
> DB[table_name].where(field_name.downcase.to_sym => 'NEW YORK')
>
> On Apr 11, 9:06 pm, kdf <[email protected]> wrote:
>> Hi,
>>
>> Is it possible to convert a variable to use as a fieldname in a select
>> clause ?
>>
>> I'm parsing Oracle's data dictionary and would like to select from any
>> table with a field matching a certain field name
>>
>> i.e. field names can be FROM_CITY, CITY, TO_CITY, etc.
>>
>> query_tables = DB[:dba_tab_columns].where({:column_name.like('%CITY
>> %')} & {:owner => 'ME'})
>>
>> for table in query_tables
>>         table_name = table[:table_name]
>>         field_name = table[:column_name]
>>         city = DB[table_name].where(field_name => 'NEW YORK')
>>         puts "#{table_name} - #{city.count}"
>> end
>>
>> I need to convert field_name to a valid field reference.
>>
>> Thoughts ?
>>
>> Kim
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sequel-talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/sequel-talk?hl=en.
>
>



-- 
http://codeconnoisseur.org

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sequel-talk?hl=en.

Reply via email to