クエリによって返された2つ以上のレコードの中で同じ値を持たない列名を見つける方法はありますか? 私はActiveRecord on Railsを使用しています。異なる値を持つ列名を取得する方法
次のコードは、(私の場合は1より大きい)レコードの数を返します。
TableName.where(column_1: value)
上記のクエリは、3つのレコードを返した場合、私は3を比較することができる方法があるかどうかを知りたいです値が一致しないか、または異なる列名を取得しますか?例えば
上記のクエリは、これらのレコードを返す場合:
column_1 | column_2 | column_3 | column_4
----------|----------|----------|----------
value | A | B | C
value | A | B | C1
value | A | B | C2
は、どのように私は上記の3つのレコードを比較し、列は異なる値を持っているかを調べることができますか? (この場合は列_4)。私の元のデータベースでは25以上のカラムがあり、違いがある場合はいつでもすべてのカラム名が必要になります。
注:照会結果は配列形式で戻され、各列はrecords[i].column_name
を使用してアクセスできます。
また、私はこれをRubyでActiveRecordをラッパーとして使用する必要があります。私はこれが多くのネストされたif
/else
を使用して行うことができると思いますが、これには優雅な解決策が必要です。
どうすればいいですか?
一意の値が複数あるすべての列をフィルタリングします。 – emaillenin
あなたはどのデータベースを使用していますか? –
データベースはPostgreSQLです –