これは本当に基本的なことかもしれませんが、文字が同じで大文字が異なる文字列を検索する SQL クエリを作成する方法が思い浮かびません。
私が取り組んでいるコンテキストは、Rails 3.2 アプリです。Name 属性を持つ単純な Tag モデルがあります。大文字と小文字を区別せずに値を保存しないこのモデルのデータを継承したため、「ツリー」などを入力するユーザーもいれば、「ツリー」を入力するユーザーもいます。
したがって、クエリを実行してこれらすべてのペアを検索し、それらをマージできるようにしたいと思います。
これまでに考えられる唯一のことは、それらすべてをループして一致する値をチェックする rake タスクを作成することです...次のようなものです:
pairs = []
Tag.all.each do |t|
other = Tag.where( 'name LIKE ?', t.name )
pairs << [t, other] if other
end
ただし、上記が機能するかどうか、またはパフォーマンス的に意味があるかどうかはわかりません。これらの一致するペアを見つける SQL クエリを作成するより良い方法はありますか?