Я пытаюсь создать представление, которое объединяет 2 таблицы, но результаты зависят от запроса. Вот пример того, чего я хочу достичь.
У меня есть таблица с именем sessionaccounting и таблица с именем sessionaccountingdailysplit .
sessionaccounting содержит все наши бухгалтерские данные, а sessionaccountingdailysplit - это данные сеанса, учитываемые по дате. К ним присоединяется внешний ключ sessionaccountingid
Как две таблицы работают в унисон следующим образом:
для строки в сеансе с учетом:
время начала - '2012-01-01', время окончания - '2012-01-03', использование - 10000
для строк в сеансе с учетом dailysplit:
дата - '2012-01-01', использование - 3000
дата - '2012-01-02', использование - 5000
дата - '2012-01-03', использование - 2000
Теперь я хочу, чтобы я запустил представление под названием vw_sessionaccounting как
SELECT *
FROM vw_sessionaccounting
WHERE starttime >= '2011-01-01' AND starttime <= '2011-01-02';
он должен только суммировать первые две даты из sessionaccountingdailysplit и заменять использование в sessionaccounting соответственно для каждой произведенной строки. (в большинстве случаев sessionaccountingdailysplit не будет строки, так как не было разделения)
Так же, как и выше, если я бегу
SELECT *
FROM sessionaccounting
WHERE starttime >= '2011-01-01' AND starttime <= '2011-01-02';
Я получу результат
время начала - '2012-01-01', время окончания - '2012-01-03', использование - 10000
но если я выполню запрос
SELECT *
FROM vw_sessionaccounting
WHERE starttime >= '2011-01-01'
AND starttime <= '2011-01-02';
Я получу результат
время начала - '2012-01-01', время окончания - '2012-01-03', использование - 8000