Суммирование значений для обзора - PullRequest
1 голос
/ 16 мая 2009

Я хочу получить время, использованное для дела, чтобы я мог создать обзор.

Запрос SELECT для случаев выглядит следующим образом:

SELECT bc.id, bc.title, bc.estimateCurrent FROM cases bc 

В одном случае я могу использовать использованное время следующим образом:

SELECT SUM(TIME_TO_SEC(TIMEDIFF(dateEnding, dateBeginning))) AS calculatedTime FROM timesheet WHERE `#case` = ?

Как соединить оба, чтобы у меня было одно значение для обзорного запроса SELECT? По сути, я бы хотел, чтобы таблица выглядела так:

id|title|estimateCurrent|timeusedinsec
 1|case1|             20|    2000
 2|case2|             40|    2500
 3|case3|             70|       0

Это возможно? Я не хотел иметь для каждого запроса на стороне php, что привело бы к нескольким запросам. Поможет ли просмотр?

1 Ответ

1 голос
/ 16 мая 2009

Предполагая, что столбец расписания #case относится к bc.id, вы можете использовать соединение следующим образом:

SELECT 
    bc.id, bc.title, bc.estimateCurrent,
    SUM(TIME_TO_SEC(TIMEDIFF(dateEnding, dateBeginning)))
FROM cases bc
JOIN timesheet ts on ts.`#case` = bc.id
GROUP BY bc.id, bc.title, bc.estimateCurrent

GROUP BY определяет, как работает SUM (). Здесь SUM () суммирует все строки с одинаковым номером #case.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...