のは、私は次の表の構造を持っているとしましょう:を選択した列
Table1
FixedColumn1 FixedColumn2 ChangingColumn1 ChangingColumn2
Test1 Test11 1 3
Test2 Test22 2 5
同じTable1
私は、同じ構造を持つ別のテーブルに
SameTable1Updated
FixedColumn1 FixedColumn2 ChangingColumn1 ChangingColumn2
Test1 Test11 77 23
Test2 Test22 22 5
Test3 Test33 5 null
を更新して保存次の表に、変更したデータを保存します:
DifferencesTable
FixedColumn1 FixedColumn2 Change ColumnName NewValue OldValue
Test1 Test11 Modified ChangingColumn1 77 1
Test1 Test11 Modified ChangingColumn2 23 3
Test2 Test22 Modified ChangingColumn1 22 2
Test3 Test33 Added ChangingColumn1 5 null
FixedColumn1
とFixedColumn2
の組み合わせは、私がDataTables
での作業のコードでこれを行う方法についてのアイデアを持っているが、それはsql
で可能ですunique(like a primary key).
のですか?
編集:
だから基本的には表1は、いくつかの時点で更新され、SameTable1Updatedに保存されます(一部の行は、いくつかは完全に削除されますまたは一部が追加され、変更されます)。行の値は、表1から変更し、まだSameTable1Updatedに表示されている場合、彼らはModified
としてパラメータChange
に追加され、OldValue
と表and with the new value from
SameTable1Updated . If the row will be completely removed from Table1, it will appear with the parameter
Changeからas
すべてのレコードのNULLとしてand with
OldValueプロパティparameter as the values from
表1 and
NewValue`パラメータを削除しました。 そして、表2の新しく追加された行については逆です。
私は可能な限り最良の状況を説明しました。詳しい情報が必要な場合はお知らせください。
私は考えているが、それは私の頭にはっきりしていない。どのテーブルに新しい値がありますか?最初か二番目?あなたの期待される出力では、新しい値 '77'と' 3'が両方のテーブルから来ています。もう少し説明できますか? – Badiparmagi
クエリ構築ロジック(DifferencesTableロジック)を記述してください – Vecchiasignora
@Badiparmagi、@Vecchiasignora私は詳細を別のDifferencesTable構造で質問を更新しましたので、私の論理を説明することができます –