2014-01-14 2 views
0

일부 조건에 따라 쿼리를 만들고 싶습니다.특정 조건에 대한 쿼리

하나의 프로그램과 하나의 프로그램에 많은 패키지가 있습니다. 그런 다음 패키지가 계약자에게 할당 된 조건에 따라 패키지가 표시되고 하나의 열에 표시됩니다. 패키지 및 금액은 해당 패키지가 계약자에게 할당 된 다른 열에서 계산됩니다.

조건 1 : 계약자에게 해당 패키지가 할당 된 경우. 카테고리 열에 1이 표시됩니다. 진행률 스테이지에는 계약 수여가 표시됩니다. 그러면 계약자에게 얼마나 많은 패키지가 할당되어 번호에 표시됩니다. 계약자가 보너스가 아닌 경우 두 번째 조건으로 이동합니다.

조건 2 : 일부 패키지가 입찰 가격 평가에 지정되고 한 열에 표시되고 금액도 한 열에 표시됩니다.

조건 3 : 일부 패키지가 기술 평가에서 입찰에 할당 된 다음 한 열에 표시되고 금액도 한 열에 표시됩니다.

두 번째 조건에서 날짜를 얻은 다음 세 번째 조건으로 이동하여 기술 날짜가 있는지 확인하고 해당 패키지가 3 카테고리에 표시되는지 확인합니다.

전환율에는 몇 가지 공식이 있습니다.

테이블 이름

  1. tblPrograms (vsSysProgramId)
  2. tblProgramsAndPackages (vsSysProgramId, iPackage)
  3. tblPackages (iPackageId)
  4. tblPkgContractAwardDetails (iPackageId, iCurrency)
  5. tblCurrencies (iCurrencyId)
  6. tblPkgDPRBidSubmissionDetails (iPackage, dtCEAgreement (날짜 열)

예 :

1.Stage of progress 2.Category 3.No 4.Packages  5.Amount(INR) 6.Amount(Jpy) 7.Amount(USD) 8.%Progress 

    Contracts Awarded I   2  Pac1,Pac2  100    50    200    Amount/totalamount 
    BidsUnderPrice  II   2  Pac3,pac4  50    60    120 

Total        4      150    110    320 

답변

0
문제는 사용하는 쿼리 또는 쿼리를 결정하는 혼합물이다처럼 소리

, 그리고 다소 복잡한 보고서 레이아웃 및 서식 요구 사항 .

T-SQL 쿼리에서이 두 가지를 모두 수행하지 마십시오. 이해하기 어렵고 디버그하기가 어려울뿐만 아니라 향상시키기가 더 어렵고 복잡하고 느린 쿼리가 발생할 것입니다.

궁극적으로 귀하의 데이터가 화면이나 보고서에 상관없이 어딘가에 표시된다고 가정합니다. 내 조언은보고 도구 또는 웹 페이지의 기능을 사용하여 다양한 조건을 평가하고 숨겨 지거나 표시되어야 할 내용을 결정하는 것입니다. 그런 다음 관리 할 수있는만큼 간단한 쿼리를 작성하여 조건 및 표시에 필요한 데이터를 반환하십시오.

T-SQL은 보고서 작성 도구가 아니며 복잡한 데이터 형식 요구 사항을 처리 할 수있는 기능이 없습니다. 이러한 우려는 ASP.NET, SSRS와 같은 도구를 사용하는 것이 가장 바람직합니다. 레이아웃, 논리 및 데이터 서식 지정에 필요한만큼 융통성을 발휘할 수 있습니다.

관련 문제