Sequel gem の使用:
employees = DB[:prm_master__employee.identifier]
.join(:prm_master__employee_custom_fields.identifier, :employee => :employee)
.where("termination_date >= ?","06/01/2012")
.or("termination_date = NULL")
.and("employee = 'holderl'")
上記は次の場合に失敗します。
~/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/sequel-3.41.0/lib/sequel/adapters/tinytds.rb:221:in `fields': TinyTds::Error: Ambiguous column name 'employee'. (Sequel::DatabaseError)
エラー (従業員など、結合されたテーブル間で同じ列名) は理解できますが、ステートメントで従業員条件を修飾する方法がわかりません。これはand
、テーブルが識別子メソッドを使用してアンダースコアを無視するためです。