사용자가 단일 장치 또는 '실행'단위에 대해 시간을 입력 할 수있는 시간 카드 시스템에서 작업하고 있습니다.고유 한 열 값을 선택하고 다른 열의 관련 값을 추가하십시오.
사용자가 '실행'에 대해 시간을 입력 할 수있는 시간 입력 부분을 이미 생성했으며 '실행'의 일부로 지정된 각 단위에 대해 별도의 행을 생성합니다. 또한 입력 한 시간을 나눕니다 (즉, run15는 8 시간을 가졌기 때문에 각 장치는 4 시간을받습니다) 시간이 한 단위에 대해 입력 된 경우 RunNum은 공백으로 남습니다.
UnitNum RunNum Hours Date
--- ---- ------ --------
1 12 5 08-01-2013
2 12 5 08-01-2013
3 12 5 08-01-2013
4 - 10 08-02-2013
5 - 8 08-02-2013
6 - 4 08-03-2013
9 15 4 08-03-2013
9 15 4 08-03-2013
1 12 1.5 08-04-2013
2 12 1.5 08-04-2013
3 12 1.5 08-04-2013
이제 시스템의 편집 부분으로 이동합니다. 상황은 좀 더 복잡합니다. 사용자는 실행중인 개별 단위를 편집하지 않아도되므로 단일 실행으로 다시 표시하고 싶습니다.
별개의 실행을 결합해야합니다. 날짜가 같은 해당 시간을 추가하십시오. 지금까지, 내 코드가 모든 것을 잡고 다음과 같습니다
UnitNum RunNum Hours Date
--- ---- ------ --------
- 12 15 08-01-2013
4 - 10 08-02-2013
5 - 8 08-02-2013
6 - 4 08-03-2013
- 15 8 08-03-2013
- 12 4.5 08-04-2013
가 :
Select runNum, date, sum(hours) as hours
from dbo.TimeCardHours
Group by runNum, date
order by Date
이것은 매우 가깝습니다. Dbloch; 그러나 Unitnum에 Runnum이 없는지 보여 주도록하겠습니다. 별도로 Runnum이없는 Units를 처리하는 select 문이이를 나타낼 수 있습니다. 하지만 조합 선택시 실행 선택이 작동 단위를 무시해야하기 때문에 중단됩니다. – Putty
select 문을 편집했습니다. 귀하가 요구하는 내용입니다. – Dbloch
그게 핵심입니다. 노동 조합이 작동하기 위해서는 select 문 양쪽에 열이 있어야합니다. 하나의 select 문에 존재할 수 없기 때문에 열을 NULL로 선택하십시오. – Putty