SQL question

Hi,

Why does this query work for project id 20 but not 21?




SELECT TIMEDIFF( SUM( Time.end_time ) , SUM( Time.start_time ) ) 

FROM Time

WHERE Time.fk_id_with_project_id =20






-- --------------------------------------------------------


--

-- Table structure for table `Time`

--


CREATE TABLE IF NOT EXISTS `Time` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `fk_id_with_project_id` int(11) NOT NULL,

  `fk_id_with_user_id` int(11) NOT NULL,

  `fk_id_with_company_id` int(11) NOT NULL,

  `description` varchar(200) NOT NULL,

  `date` date DEFAULT NULL,

  `start_time` time DEFAULT NULL,

  `end_time` time DEFAULT NULL,

  `billable` tinyint(1) NOT NULL DEFAULT '0',

  PRIMARY KEY (`id`)

) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=52 ;


--

-- Dumping data for table `Time`

--


INSERT INTO `Time` (`id`, `fk_id_with_project_id`, `fk_id_with_user_id`, `fk_id_with_company_id`, `description`, `date`, `start_time`, `end_time`, `billable`) VALUES

(28, 21, 7, 1, 'Keyword research', '2011-09-04', '02:00:00', '03:00:00', 0),

(29, 21, 15, 1, 'Task_1', '2011-09-12', '08:00:00', '16:00:00', 1),

(27, 20, 7, 1, 'xhtml / css mock ups', '2011-09-04', '00:00:00', '01:55:00', 1),

(11, 0, 9, 2, 'hfikfh', '2011-08-04', '01:30:00', '12:30:00', 1),

(12, 12, 9, 2, 'zri', '2011-08-02', '07:35:00', '07:35:00', 1),

(13, 12, 9, 2, 'e5d7dz', '2011-08-16', '01:35:00', '06:35:00', 0),

(14, 13, 9, 2, 'dghxdgjhxdgm jxgj', '2011-08-03', '06:35:00', '08:35:00', 0),

(15, 13, 9, 2, 'fhkfhkjk', '2011-08-11', '13:35:00', '20:35:00', 0),

(16, 13, 9, 2, 'cfhkfzk', '2011-08-17', '07:35:00', '22:35:00', 1),

(17, 0, 9, 2, 'mego', '2011-08-14', '20:55:00', '20:55:00', 0),

(18, 14, 9, 2, 'mego', '2011-08-14', '20:05:00', '20:15:00', 0),

(19, 14, 9, 2, 'xxxxx', '2011-08-15', '08:00:00', '08:30:00', 0),

(20, 0, 9, 2, 'lecarnassier', '2011-08-17', '12:35:00', '13:00:00', 1),

(21, 0, 9, 2, 'my goal', '2011-08-27', '06:55:00', '20:35:00', 0),

(22, 0, 13, 5, 'time panel', '2011-08-28', '18:10:00', '18:15:00', 0),

(23, 17, 13, 5, 'training', '2011-08-28', '00:15:00', '02:15:00', 0),

(30, 21, 15, 1, 'Task_1A', '2011-09-18', '08:00:00', '12:00:00', 1),

(31, 21, 15, 1, 'Task_1B', '2011-09-19', '13:00:00', '16:00:00', 1),

(32, 21, 15, 1, 'Task_1C', '2011-09-20', '07:30:00', '08:15:00', 0),

(33, 21, 15, 1, 'Task_1D', '2011-09-20', '13:15:00', '15:45:00', 0),

(34, 21, 15, 1, 'Task_1E', '2011-09-21', '09:00:00', '15:00:00', 1),

(35, 20, 15, 1, 'Task_2', '2011-09-05', '08:00:00', '12:00:00', 1),

(36, 20, 15, 1, 'Task_2A', '2011-09-05', '15:30:00', '16:10:00', 0),

(37, 20, 15, 1, 'Task_2B', '2011-09-06', '09:05:00', '16:15:00', 1),

(38, 20, 15, 1, 'Task_2C', '2011-09-07', '08:00:00', '17:30:00', 1),

(39, 20, 15, 1, 'Task_2D', '2011-09-08', '13:00:00', '20:15:00', 1),

(40, 20, 15, 1, 'Task_2E', '2011-09-09', '06:30:00', '18:25:00', 1),

(41, 21, 7, 1, 'Task_S1', '2011-09-05', '06:00:00', '18:00:00', 1),

(42, 21, 7, 1, 'Task_S2', '2011-09-06', '08:30:00', '10:30:00', 1),

(43, 21, 7, 1, 'Task_S3', '2011-09-07', '13:30:00', '16:45:00', 1),

(44, 21, 7, 1, 'Task_S4', '2011-09-08', '08:15:00', '16:35:00', 1),

(45, 21, 7, 1, 'Task_S5', '2011-09-09', '09:35:00', '10:30:00', 0),

(46, 21, 7, 1, 'Task_S6', '2011-09-09', '13:30:00', '15:45:00', 1),

(47, 20, 7, 1, 'Task_SKW1', '2011-09-01', '13:00:00', '14:35:00', 1),

(48, 20, 7, 1, 'Task_SKW2', '2011-09-02', '08:30:00', '16:55:00', 1),

(49, 20, 7, 1, 'Task_SKW3', '2011-09-03', '09:00:00', '17:00:00', 1),

(50, 20, 7, 1, 'Task_SKW4', '2011-09-04', '10:30:00', '15:30:00', 1),

(51, 20, 7, 1, 'Task_SKW5', '2011-09-05', '07:30:00', '10:50:00', 1);



Have you tried it with someone else say 17?

This is a mysql problem… your idea of summing the time field is wrong…

Check this threads for explanation and possible solution:

http://lists.mysql.com/mysql/208179