2017-03-17 1 views
-1

두 가지 추가 기준에 따라 SQL Server 열의 값을 업데이트하고 잠시 동안 "foreach"로 묶는 방법에 대한 도움이 필요합니다. foreach in T-SQL) 루프. 나는 관련된 모든 PARAMS을 포함, SQL보기를 얻을 관리 :다른 열의 복잡한 조건을 기반으로 SQL 업데이트 열

SQL View

죄송가 제대로 표시하기 위해 테이블을 얻을 수 없습니다.

Here you can find a an example

은 내가이 특별한 경우에 필요한 것은, (다른 GroupIDs을 가진 SamAccountName 동일) 두 개 이상의 그룹의 구성원 인 SamAccountNames을 찾아이 SAM의 GroupStartDate을 비교하고 가장 빠른 날짜를 얻는 것입니다.

이 날짜 다음으로 저장 프로 시저에서 지정된 사용자 (SAM)의 각 작업을 업데이트합니다.

이 특정 예에서 TonyS는 두 그룹 (78 및 79)의 ​​구성원이므로 수표를받을 자격이 있습니다. GroupStartDate를 확인할 때 Tony가 가장 먼저 2017-03-06 (UniqueID1로 작업)을 시작할 수 있음을 알 수 있습니다.이 경우 Tony의 다른 작업을이 날짜로 업데이트해야합니다 (Job UniqueID2를 업데이트해야 함).

나는 많은 다른 것들을 수색하고 시도했지만, 지금까지 나는해야 할 일에 가까이 다가 갈 수 없었다.

모든 히트 곡은 대단히 감사하겠습니다. 당신이해야 할 일은

감사합니다, 토니

+1

안녕에 오신 것을 환영합니다 :

-- get the ones with more than one groupId ;with multiple_groups_cte as ( select j.SamAccountName, count(distinct GroupId) nr_groups, MIN(groupstartdate) Earliest_GroupStartDate from #jobs j group by SamAccountName having count(distinct GroupId) > 1 ) select SamAccountName, Earliest_GroupStartDate from multiple_groups_cte 

이 쿼리는 당신에게 다음과 같은 결과를 줄 것이다. 특정 문제가있는 경우 [최소, 완전하며 검증 가능한 예제] (http://stackoverflow.com/help/mcve)를 포함 시키십시오. [좋은 질문을하는 방법] (http://stackoverflow.com/help/how-to-ask)을 읽어보십시오. 질문이 구체적이고 지나치게 넓지는 않은지 확인하십시오. – Igor

+0

안녕 과르, 내가 특정 예제를 주신 MS Technet 포럼에서 연 스레드를 참조 할 수 있습니까? 여기에 적절한 방법으로 표 형식을 지정하는 것은 매우 어렵습니다. –

+1

붙여 넣기 표 결과 : https://senseful.github.io/web-tools/text-table/ 히트'create table' 버튼, 복사 생성 테이블, 답변을 붙여 넣기, 코드 형식. – SqlZim

답변

1

그룹 SamAccountName로 기록을하고 "최초의"작업이 하루를 시작하는 것입니다 최소 GroupStartDate를 얻을. 유래에

SamAccountName Earliest_GroupStartDate 

GarryT   2017-01-08 00:00:00.0000000 
TonyS   2017-03-06 00:00:00.0000000 
+0

안녕하세요, 거의 저 .. 입력 해 주셔서 감사합니다. 고려해야 할 유일한 것은 GarryT의 작업이 실제로 같은 그룹 (GroupID 81) 내에 있다는 것입니다. 토니의 유일한 직업은 두 개의 다른 그룹에 회원으로 있다는 점만 확인하면됩니다. 예제를 편집하는 방법에 대한 제안이 있으십니까? 큰 감사를 드린다! –

+0

쿼리는 여전히 동일합니다. 제 경우에는 임시 테이블에 GroupIDs 81과 82를 사용하여 GarryT에 대한 두 개의 레코드를 다시 작성 했었습니다. GarryT의 그룹 ID도 81 개 뿐인 경우 작동합니다. 그룹 수는 * 별개입니다. 시도 해봐! :) –

+0

이봐, 시험 할 시간이 좀 더 필요할거야. 나는 귀하의 의견을 잊지 않고 귀하에게 의견을 제공하고 그에 따라 표시 할 것입니다. 다시 한번 Thnaks. –

관련 문제