2015-12-30 35 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); 

說明: