select文でwhere句のタイトルを明確にするために、別のselectを使用してテーブルを確認する必要があります。その2番目の選択では、私はすべてのセカンダリIDを見つける必要があります。ここでevnt_id
が外部キーである、私はコードを明確にするためSQL文を実行中に特定の行と列のデータを選択することができます
Declare @id INT
--inserting values in temp table
SELECT
rn = ROW_NUMBER() OVER (ORDER BY adt_trl_dt_tm),
*
INTO #Temp
FROM dbo.EVNT_HSTRY
ORDER BY adt_trl_dt_tm DESC
--Searching for items that are deleted and have not been restored
SELECT *
FROM dbo.EVNT_HSTRY hstry
WHERE evnt_hstry_cd LIKE '3' and
adt_trl_dt_tm > (SELECT adt_trl_dt_tm FROM dbo.EVNT_HSTRY WHERE evnt_id = evnt_id
DROP TABLE #Temp
を働いてきたものです。主キーはevnt_Hstry_id
です。 evnt_hstry_cd
3は削除されています。私がしようとしているのは、同じevnt_id
を持つすべてのadt_trl_dt_tm
フィールドと比較することによって、読み取っている行のフィールドadt_trl_dt_tm
(最終更新日)が最新であるかどうかを確認することです。
私が選択しているテーブルは、イベントの履歴を保存するテーブルです。イベントが追加、変更、削除、または復元されたときの位置です。
悲しいことに、このステートメントはSSISで実行されているため、悲しいことに、私のアプリケーションにはできません。
全体として、adt_trl_dt_tm
とadt_trl_dt_tm
と同じものを比較して、同じevnt_id
を選択し、最新のものを選択する必要があります。
ありがとう、私はそのトリックをしたと思う、私はもっと深くテストする必要がありますが、それは良いようです。 – Hugo