これは、ここにある私の以前の質問に似ています。 SQL で (ActiveRecord を使用して) LIKE 演算子を使用してリレーションを注文できる方法はありますか? たとえば、列の 1 つが通常多くのコンマ区切り値を含む長い文字列であるリレーションをクエリしています。前述の列の値が LIKE を使用してより小さい文字列に一致するレコードを前に並べることで、結果のリレーションを並べ替えたいと思います (たとえば、変数が「スペイン」の場合、「アイルランド、スペイン、フランス」関係の前に注文する)。
のようなものでアクティブなレコードでこれを試しましMyModel.order("country_preferences LIKE ?", country)
たが、SQL エラーが発生しました。この種の注文を実行する正しい方法は何ですか?
更新(コメントから抽出):
PostgreSQL 9.1 を使用しています。現在の SQL エラー: http://pastie.org/8037147。
country_preference = "アイルランド、スペイン、フランス" の 5 つのレコード、country_preference = "アイルランド、ドイツ、フランス" の 5 つのレコード。特定の国を指定して、country_preferences 文字列にこの国が含まれるレコードを先頭に並べるリレーションを返したいと考えています。