번호가 순차적 인 누락 제품을 식별해야합니다. 즉, 각 상점에서 고유 한 번호로 판매되는 일련의 제품이 있습니다. 최종 사용자는 날짜 범위에 누락 된 위젯을 식별하는 보고서를 원합니다. SQL Server 2008 R2에서 커서를 사용하지 않고 표를 채우는 방법
Store Product Number
Store 1 Widget 100
Store 1 Widget 101
Store 1 Widget 102
Store 1 Widget 104
Store 2 Widget 201
Store 2 Widget 202
Store 2 Widget 203
나는 이것이 MAX (번호)와 MIN (번호)을 획득 한 후 순서대로 번호를 모두와 함께 테이블 변수를 채우는 것입니다 할 수있는 가장 좋은 방법을 생각했다. 테이블 변수에서 위젯 번호가 Product 테이블에 없으면 번호를 반환하고 누락 된 것으로 표시합니다.
그러나; 우리의 DBA는 커서에 대해 대단히 많이 작용하며 WHILE 루프는 오버 헤드가 많이 발생한다는 것을 알고 있습니다. 또한 상점별로이 작업을 수행하는 방법을 잘 모르겠습니다.
누구나 세트 기반 방식으로이 작업을 수행하는 방법을 알고 있습니까?
위젯 자체에는 숫자가 있으므로 위젯 # 1을 판매 할 때 다음에 판매하는 위젯은 위젯 # 2 여야합니다. 하나; 때로는 그런 일이 일어나지 않고 위젯 # 3이 판매됩니다 - 위젯 # 2가 누락되어 데이터베이스에 없습니다. 위젯 # 1과 # 3이 판매되었고 # 2가 누락되었다는 사실을 보고서에서 확인해야합니다.
집합 기반 솔루션을 사용할 수없는 DBA가 있습니까? DBA를 해고하십시오! – JonH
나는 지난 주 DBA가 질문에 대답하기에 너무 바쁘다고하고, 자신의 도움없이이 보고서를 개발하기 위해 자신의 SQL 지식을 구축해야한다고 들었다. (BTW, DBA가 아니라 내 상사가) – DataGirl