有什麼方法可以找出查詢返回的兩個或多個記錄中不具有相同值的列名稱? 我在Rails上使用ActiveRecord。如何獲取具有不同值的列名稱
下面的代碼返回了多項紀錄(大於1在我的情況):
TableName.where(column_1: value)
如果上面的查詢返回三個記錄,我想知道是否有一種方法,我可以比較這三個記錄並獲取值不匹配或不同的列名稱?
例如,如果上面的查詢返回這些記錄:
column_1 | column_2 | column_3 | column_4
----------|----------|----------|----------
value | A | B | C
value | A | B | C1
value | A | B | C2
我如何比較上述三個記錄,並找出哪些列具有不同的價值? (在這種情況下是第4列)。在我的原始數據庫中,我有超過25列,並且在任何有差異的地方我都需要所有列名。
注意:查詢結果以數組形式返回,每列可以使用records[i].column_name
訪問。
此外,我需要得到這個與ActiveRecord作爲包裝Ruby的工作。我認爲這可以使用大量的嵌套if
/else
來完成,但必須有一個優雅的解決方案。
我該怎麼做?
篩選具有多個唯一值的所有列。 – emaillenin
你使用什麼數據庫? –
數據庫是PostgreSQL –