2013-08-06 3 views
2

에서 나는 두 개의 테이블이있다. 데이터베이스에 약 5000 개의 작업이 있고 Hours의 열 값 범위는 1에서 30 사이입니다.지정 행 균등 테이블

SQL Server 쿼리 또는 LINQ를 사용하여 어떻게 수행 할 수 있습니까?

+0

하루에 몇 시간 씩 또 왔습니까?!? : P – Pinch

+0

글쎄, 하루에 몇 시간이 아니라 작업을 완료하는 데 근무 시간이라고 생각하십니까 – Jonesopolis

+0

당신의 규칙 책은 어디에 있습니까? – Pinch

답변

2

이 문제는 파티션 문제 (here 참조)처럼 들리지만 각 사용자의 시간 합계가 같아 지도록 작업을 할당하려고합니다.

일부 상황에서는 문제를 쉽게 해결할 수 있습니다 (예 : 모든 작업의 ​​길이가 1 시간 인 경우). 다른 경우에는 문제가 해결되지 않습니다 (예 : 작업보다 사용자가 많은 경우). 힌트로, 문제가 극단적 인 경우에는 SQL 쿼리를 사용하여 해결할 수 없습니다.

물론 은 테이블의 데이터를으로 표시 할 수 있습니다. 그리고 복잡한 로직을 사용하는 쿼리에 커서를 사용할 수 있으며이 SQL을 호출 할 수 있습니다.

위키피디아 페이지에는 여러 가지 가능한 알고리즘에 대한 설명이 있습니다. 행운을 빕니다.