T-SQL에서만 가능하거나 C#으로 옮겨서 거기에서 수행해야하는지 잘 모르겠습니다. 다음과 같은 테이블 설정이 있습니다.T-SQL에서 사용할 수있는 형식으로 데이터를 조작하는 데 도움이 필요합니다.
Tracking
--------
ID int
Hash varchar
pageID int
표는 사용자가 웹 사이트를 통해 여행하는 방식을 추적합니다. 모든 페이지로드 새 줄이 추가됩니다. 각 세션은 새로운 해시를 얻습니다. 예 데이터 :
는1 3pm6Qav1Vdf 4
2 3pm6Qav1Vdf 7
3 3pm6Qav1Vdf 41
4 3pm6Qav1Vdf 2
그래서 세션의 흔적 (마지막 페이지로 첫 페이지를) 얻을 것이다 다음을 수행하는 것은 : 가능이 될 경우
SELECT * from Tracking WHERE hash='3pm6Qav1Vdf' ORDER BY ID;
나는 좀하고 싶습니다 무엇 :
1 3pm6Qav1Vdf NULL 4
2 3pm6Qav1Vdf 4 7
3 3pm6Qav1Vdf 7 41
4 3pm6Qav1Vdf 41 2
이전 pageID와 현재 pageID를 나열하는 열을 추가합니다. 이게 T-SQL에서 가능하거나 C#으로 옮겨야합니까?
AFAIK이 작업은 훨씬 쉬울 것입니다. CTE에 대해 자체 조인 할 필요가 없으므로 새로운 LAG/LEAD 창 함수 연산자를 사용할 수 있습니다. –