У меня есть таблица, которая содержит интервалы:Как я могу агрегировать два класса значений в SQL-запросе?
CREATE TABLE tbl (
user_id: INTEGER,
start: TIMESTAMP,
end: TIMESTAMP,
billable: BOOLEAN
);
Я хочу, чтобы создать представление, которое выглядит следующим образом:
user_id | billable_time | unbillable_time
я могу получить один из этих двух, используя запрос, как это:
SELECT user_id, sum(end - start) AS billable_time WHERE billable = TRUE GROUP BY user_id;
Однако, мне нужно оба колонок, с НЕОПЛАЧИВАЕМЫМ временем является эквивалентом:
SELECT user_id, sum(end - start) AS unbillable_time WHERE billable = FALSE GROUP BY user_id;
Как я могу получить эти два значения в одном запросе?
То, что дает мне эту ошибку: ОШИБКА: синтаксическая ошибка при или около "CASE" LINE 1: ... (CASE оплачивается КОГДА ИСТИНА ТОГО закончилось - начато КОНЕЦ CASE) AS p ... –
Все, что вам нужно сделать, это изменить 'end case'' end', и он работает. Благодаря! –
Извините, я использовал ошибку MySQL в хранимой процедуре по ошибке. – dnagirl