2011-12-08 2 views
0

당 합계 (비용) 및 수익이 개 테이블에서와 화면을 표시하는 방법 :내가 두 개의 테이블이 달

table 1: 
Expense cost 

게시 날짜

table 2: 
Employee cost 
Rvenue 

결제 날짜

Totalcost = Expense cost + Employee cost 
Pofit Revenue - TotalCost 

를 내가 그렇게 보고서를 표시해야합니다. 내가 힘든 시간 쿼리를 fugring을 데

  Totalcost | Revenue | Profit 
jan 
feb 
mar 
apr 
may 
jun 
jul 
aug 
sep 
oct 
nov 
dec 

(내가 년을 기준으로 필터링하는 방법을 알고), 2011 말할 수 연도 별 한달에 데이터를 표시해야합니다. 문제는 어떻게 보고서 뷰어 테이블에 데이터를 표시 할 수 있습니까?

답변

0

가장 간단한 방법은 데이터를 결합하여 보고서의 데이터 원본 역할을 할 단일 데이터 테이블을 형성하는 것입니다.

SELECT 
    t1.Month, 
    t1.ExpenseCost + t2.EmployeeCost AS TotalCost, 
    t2.Revenue, 
    t2.Revenue - t1.ExpenseCost - t2.EmployeeCost AS Profit 
FROM 
    Table1 t1 
    INNER JOIN Table2 t2 ON t1.Year = t2.Year and t1.Month = t2.Month 
WHERE 
    t1.Year = @Year /* parameter to filter for a year */ 

, 예를 들어, 또는 당신은 단순히 데이터 테이블을 통해 LINQ를 사용하여 하나의 데이터 관계 이상을 사용하여 프론트 엔드에서 데이터를 결합 할 수 있습니다 - -

당신은 데이터베이스 측면에서 두 테이블에 가입 할 수 있습니다 예를

에 대한
var query = from t1 in table1.AsEnumerable() 
        join t1 in table2.AsEnumerable() 
        on t1.Field<string>("Month") equals t2.Field<string>("Month") 
        select new 
        { 
         Month = t1.Field<string>("Month"), 
         TotalCost = t1.Field<Decimal>("ExpenseCost") + t2.Field<Decimal>("EmployeeCost"), 
         Revenue = t2.Field<Decimal>("Revenue"), 
         // similarly compute profit 
        }; 
+0

확인 내가 쿼리를 얻을 수 있지만, 방법은 내가 비용 수익과 @nikolomanabal 이익 –

+0

에 대한 데이터를 채우기 위해 12 개월 가지고있는의 ReportViewer 원인에 보여줄 수, 쿼리의 출력은 모두 당신이해야 원하는 형식으로 이미 할 테이블 da 함께 RDLC (또는 RDL) 파일을 만드는 것입니다 타 지역 - http://msdn.microsoft.com/en-us/library/ms251659%28v=VS.90%29.aspx를 참조하십시오. – VinayC