가입하고자하는 datepart에 대한 하위 쿼리가있는 두 개의 쿼리가 있습니다.tsql은 하위 쿼리의 datepart와 결합합니다.
SELECT DateMonth, DateYear, Datestring,
MAX(CouponTotalCount) NoOfCouponsViewed
FROM (
SELECT *, DATEPART(MONTH, DateInsert) DateMonth, DATEPART(YEAR, DateInsert) DateYear,
CONVERT(CHAR(4), DateInsert, 100) + CONVERT(CHAR(4), DateInsert, 120) Datestring
FROM FlurryCouponViewed
) sub
where couponID=249
GROUP BY DateMonth, DateYear, Datestring
SELECT DateMonth, DateYear, Datestring,
MAX(CouponTotalCount) NoOfCouponsRedeemed
FROM (
SELECT *, DATEPART(MONTH, DateInsert) DateMonth, DATEPART(YEAR, DateInsert) DateYear,
CONVERT(CHAR(4), DateInsert, 100) + CONVERT(CHAR(4), DateInsert, 120) Datestring
FROM FlurryCouponRedeemed
) sub
where couponID=249
GROUP BY DateMonth, DateYear, Datestring
출력은 두 개의 쿼리입니다 :
DateMonth DateYear Datestring NoOfCouponsViewed
----------- ----------- ---------- -----------------
2 2012 Feb 2012 5
3 2012 Mar 2012 12
4 2012 Apr 2012 25
5 2012 May 2012 25
DateMonth DateYear Datestring NoOfCouponsRedeemed
----------- ----------- ---------- -------------------
2 2012 Feb 2012 3
3 2012 Mar 2012 4
4 2012 Apr 2012 5
5 2012 May 2012 11
내가 두 사람이 나에게주는 쿼리에 합류한다 실현하려 좋아 :
DateMonth DateYear Datestring NoOfCouponsViewed NoOfCouponsRedeemed
----------- ----------- ---------- ----------------- -------------------
2 2012 Feb 2012 5 3
3 2012 Mar 2012 12 4
4 2012 Apr 2012 25 5
5 2012 May 2012 25 11
내가 어떻게 할 수 있습니까?
와
나는 또한 가능한 한 오랫동안이 직업을 수행 최적화에 도움에 대한 날짜로 날짜를 유지하려면DATEPART(YEAR...
&DATEPART(MONTH...
및CONVERT(VARCHAR(4), DateInsert...
을 교체 한 이유, 이것은 이미 쿼리에서와 마찬가지로입니다 , 쿼리를 테이블로 사용할 수 있습니다. 글쎄, 당신은 많은 레이어에 대해 그렇게 할 수 있습니다 (읽기는 어렵습니다). – Limey