2013-09-23 2 views
0

여기에 약간의 문제점이 있으며 몇 가지 이유가 있어도이를 수행 할 수있는 간단한 방법을 찾을 수 없습니다. 우리는 날짜 사이에 총 매출을 올릴 수있는 능력을 가지고 있지만, 상사는 요일에 총 판매량을 얻을 수 있기를 원합니다. 예를 들어 월요일에 모든 매출액의 합계는 7/1/138/1/13 사이입니다.특정 날짜 범위의 특정 요일에 대한 총 판매 SQL Server

다음은 해당 날짜 간의 매출 합계를 나타내는 쿼리입니다. 당신이/단지/월요일의 결과를 얻고 싶다면

SET NOCOUNT ON 
SET CONCAT_NULL_YIELDS_NULL OFF 

SELECT tblItem.dateOrder, 
    tblMerchPack.strMerchPackCategory + tblPayTypeID.strPayTypeName AS strMerchPackCategory, 
    tblMerchPack.strMerchPackID, 
    tblMerchPack.strMerchPackName + tblPayTypeID.strPayTypeName AS strMerchPackDescription, 
    tblMerchItem.strMerchItemID, 
    tblMerchItem.strMerchItemName + tblPayTypeID.strPayTypeName AS strMerchItemDescription, 
    tblItem.lngQuantity, 
    tblItem.curPrice, 
    tblItem.curPriceDiscount, 
    tblItem.curTaxA, 
    tblItem.curTaxB, 
    tblPay.curTender - tblPay.curChange AS curPayment, 
    tblStoredValue.curCash AS curStoredPayment, 
    CASE 
     WHEN tblItem.lngMerchItemID IS NULL 
      THEN - 1 
     WHEN tblItem.lngMerchItemID > 0 
      THEN 0 
     WHEN tblPayTypeID.lngPayTypeID IS NULL 
      THEN 1000 
     WHEN tblPayTypeID.lngPayTypeID > 0 
      THEN tblPayTypeID.lngPayTypeID 
     ELSE - 1 
     END AS 'lngPaymentSort' 
FROM tblItem 
LEFT JOIN tblPay ON tblItem.lngItemID = tblPay.lngItemID 
LEFT JOIN tblStoredValue ON tblItem.lngItemID = tblStoredValue.lngItemID 
LEFT JOIN tblPayTypeID ON tblPay.lngPayTypeID = tblPayTypeID.lngPayTypeID 
LEFT JOIN tblMerchItem ON tblItem.lngMerchItemID = tblMerchItem.lngMerchItemID 
LEFT JOIN tblMerchPack ON tblItem.lngMerchPackID = tblMerchPack.lngMerchPackID 
WHERE (
     tblItem.dateOrder BETWEEN '7/1/2013 5:00:00 AM' 
      AND '8/1/2013 4:59:59 AM' 
     ) 
ORDER BY lngPaymentSort, 
    strMerchPackCategory, 
    strMerchItemDescription 

답변

0

후 바로 당신의 where 절에 다음을 추가 : 당신이 매일 열을 포함하는 쿼리를 원하는 경우

and datepart(dw,tblItem.dateOrder) = 1 

당신 각 날짜에 대해 datepart를 사용하여 select 부분에서 case 문을 사용해야합니다.

이것은 당신이 미국에있어 가정한다 ..주의 최초의 날이 국가

날짜 부분 정보에 따라 달라집니다 - 이것이 내가 찾고 있던 답이 http://msdn.microsoft.com/en-us/library/ms174420.aspx

+0

했다. 도와 주셔서 감사합니다! – user2808627

관련 문제