ByQuarter

From SQLZOO
Revision as of 21:11, 17 December 2016 by Andr3w (talk | contribs)
Jump to navigation Jump to search

Distribute values across quarters

schema:scott
DROP TABLE Insurance;
CREATE TABLE Insurance (
  policynumber VARCHAR(10) NOT NULL PRIMARY KEY,
  premium INT,
  TransEff datetime,
  TransExp datetime
);
INSERT INTO Insurance VALUES
('PACA1',490,'2012-04-27','2013-04-27');

In this example you want to distribute the income across several quarters

SELECT policynumber,
          CASE WHEN TransEff < '2012-04-01' AND TransEff>= '2012-01-01' THEN 1 END
          CASE WHEN TransEff < '2012-07-01' AND TransEff>= '2012-03-01' THEN 1 END
          CASE WHEN TransEff < '2012-10-01' AND TransEff>= '2012-06-01' THEN 1 END
          CASE WHEN TransEff < '2013-01-01' AND TransEff>= '2012-09-01' THEN 1 END
FROM Insurance