여기에 약간의 문제점이 있으며 몇 가지 이유가 있어도이를 수행 할 수있는 간단한 방법을 찾을 수 없습니다. 우리는 날짜 사이에 총 매출을 올릴 수있는 능력을 가지고 있지만, 상사는 요일에 총 판매량을 얻을 수 있기를 원합니다. 예를 들어 월요일에 모든 매출액의 합계는 7/1/13
과 8/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
했다. 도와 주셔서 감사합니다! – user2808627