Hi Craig,

Weston, Craig (OFT) wrote:
Hello everyone.
Once again, I am jousting at the windmill of time and date formulae
within MYSQL. I seek to create a cross-tab or pivot table of the SUM of
all times with a specific category, on a per-ticket basis. I have
everything working except the math part. Even that is kind of working
ok, but it is not adding up The math part is:
IF(`status` = 'WIP',SUM(time_to_sec(`CLOCK_TIME`)),0) AS 'WIP'

(the same formula with 'CLOSED','OPEN', etc lists all the various
statuses available.)

CLOCK_TIME is a varchar field that contains a 4 digit date counter and a
timer, in the format of

0293 23:44

0001 00:29

0001 19:15

My hunch is this is the problem. You should split the field into two: one for the date counter, one for the time. time_to_secs() is probably returning zero for most of these.


Now, I run the query and get results. Every ticket has more than one
status. But, for each ticket, I get a single line that appears to have
the entire ticket time (in seconds) in one field and the rest are zero.
I think this tells me that the statement is working but that I am
grouping them wrong? `key` is the ticket number.

From

`clock_data`

group by
`clock_data`.`key`

So my result set looks like

17881375,0,0,0,0,15235975,0,0,0,0,0,0,0,0

18184639,21362513,0,0,0,0,0,0,0,0,0,0,0,0

Etc.

Can anyone help me over this hill? I think I am writing the if statement
incorrectly somehow but don't see a way out of the box yet.

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to