アイテムの以前の履歴に基づいてどのように選択しますか?T-SQL反復的に履歴パターンを確認する
たとえば、val = 1、以前にval = 10、かつval = 1の項目を選択しようとしています。以下のデータを満たす必要があるitemIdは、 itemId = 3
WITH Items (itemId, date, val) AS (
SELECT 1, CONVERT(datetime, '5/1/2011'), 6 UNION ALL
SELECT 2, CONVERT(datetime, '5/1/2011'), 5 UNION ALL
SELECT 3, CONVERT(datetime, '5/1/2011'), 1 UNION ALL
SELECT 1, CONVERT(datetime, '6/1/2011'), 1 UNION ALL
SELECT 2, CONVERT(datetime, '6/1/2011'), 10 UNION ALL
SELECT 3, CONVERT(datetime, '6/1/2011'), 10 UNION ALL
SELECT 1, CONVERT(datetime, '7/1/2011'), 1 UNION ALL
SELECT 2, CONVERT(datetime, '7/1/2011'), 1 UNION ALL
SELECT 3, CONVERT(datetime, '7/1/2011'), 1
)
select distinct itemId from Items where val = 1
--and a previous date val = 10
--and a previous previous date val = 1