をコミット1の後に複数のテーブルの状態を探す:SQLiteの:私は、次の3つのテーブルを持っている
FirstNames
Name NameID CommitID
Sam 1 1
Dave 2 1
James 3 1
Andrew 2 2
SecondNames
Name NameID CommitID
Stevens 1 1
Jones 2 1
Michaels 3 1
Anns 2 2
K 1 2
NameID
NameID
1
2
3
名前IDテーブルから名前IDフィールドは、新しい名前がに保存された最初の時間に生成される一意のフィールドですデータベース。名前は2番目と1番目の名前(別々のテーブルに格納されています)で構成されています。ここでNameIDは最初の名前を2番目の名前にリンクします。
CommitIDは、名前の特定の更新に関連付けられたIDです。更新はfirstname、secondname、またはfirstnameとsecondnameの両方に同時に行うことができます。同時に倍数の名前を更新する場合、CommitIDはこの更新グループで同じになります。
私の目的は、 "編集された"名前の状態が特定のコミットであったことを教えてくれる4番目のテーブルを作成するためのクエリを書くことです。例として、ここから2つのコミットがあることがわかります(コミットID 1 & 2)。これは、次の表を返します
私にコミット2で編集した第1または第2のいずれかの名前を持っていたすべての名前の最初と2番目の名前を取得します:
EditedNameID FirstName SecondName CommitID
1 Sam K 2
2 Andrew Anns 2
重要な私のクエリは次のように言うだろう(そして私が失敗している点)は、「Sam K」がコミット1からファーストネームを、コミット2から彼のセカンドネームを取ることです。
私はこれを全日朝に苦労し、正しい答えには達していません誰にもこれに対する解決策があるのだろうか?私の説明が不明であるかどうか、あるいはおそらく要件が私にスキーマを調整する必要があるかどうかを教えてください。
ありがとう - それは私のためにそれを解決します – SSS