i'm trying number of printed pages within time horizons (printed today, printed week, printed year, printed month) , have following sql query execute:
$select2 = "select if( station_name = '', 'unknown', station_name ) station_name, station_name db_name, sum(case when year(print_date) = $year print_pages end) yearpages, sum(case when (month(print_date) = $month , year(print_date) = $year) print_pages end) monthpages, sum(case when (day(print_date) = $day , year(print_date) = $year , month(print_date) = $month) print_pages end) daypages, sum(case when (week(print_date) = $week , year(print_date) = $year , month(print_date) = $month) print_pages end) weekpages `file_prints` group station_name;";
however, when var dump on 1 of elements in array outputted result of executing query within zend php framework, observe yearpages , monthpages well-defined (a value other null returned) both weekpages , daypages null, seen below:
$rows = $_usertable->getadapter()->fetchall($select2); var_dump($rows[46]); print_r(array_keys($rows[46])); array(6) { ["station_name"]=> string(15) "uchicagolibrary" ["db_name"]=> string(15) "uchicagolibrary" ["yearpages"]=> string(5) "33391" ["monthpages"]=> string(4) "2498" ["daypages"]=> null ["weekpages"]=> null } array ( [0] => station_name [1] => db_name [2] => yearpages [3] => monthpages [4] => daypages [5] => weekpages
what reason why daypages , weekpages aren't being processed query monthpages , yearpages fine?
as using case statement should keep day,week,month,year in order getting days , week.
$select2 = "select if( station_name = '', 'unknown', station_name ) station_name, station_name db_name, sum(case when (day(print_date) = $day , year(print_date) = $year , month(print_date) = $month) print_pages end) daypages, sum(case when (week(print_date) = $week , year(print_date) = $year , month(print_date) = $month) print_pages end) weekpages, sum(case when (month(print_date) = $month , year(print_date) = $year) print_pages end) monthpages,sum(case when year(print_date) = $year print_pages end) yearpages `file_prints` group station_name;";
Comments
Post a Comment