2015-12-30 66 views
-1

我imlementing考勤表报告的日期范围之间进行选择考勤:PostgreSQL的两个日期

Student 01.12 02.12 03.12 04.12 05.12 06.12 
STUDENT1 TRUE TRUE TRUE FALSE TRUE FALSE 
STUDENT2 TRUE FALSE TRUE TRUE TRUE TRUE 

我的表:

id_ 
student_ 
date_ 
present_ 
+1

问题是什么? –

回答

1

我感觉很幸运。因此,这里是我的猜测,你可能会问什么:

SELECT * FROM crosstab(
     $$SELECT student_, date_, present_ 
     FROM tbl 
     WHERE date_ BETWEEN '2015-12-01'::date AND '2015-12-06'::date 
     ORDER BY 1,2$$ 

    ,$$SELECT unnest('{2015-12-01, 2015-12-02, 2015-12-03 
         , 2015-12-04, 2015-12-05, 2015-12-06}'::date[])$$) 
AS ct ("Student" text, "01.12" bool, "02.12" bool, "03.12" bool 
        , "04.12" bool, "05.12" bool, "06.12" bool); 

说明: