Помогите с запросом

Spawnedmate
Дата: 28.01.2013 14:10:04
Доброго времени суток:)
Имеется таблица
Change_account:
id, account_id, type_change_account_id,old_val, new_val, start_date

Необходимо из этой таблицы составить таблицу

id, account id, kol, pl, start_date
Где account_id выбирается из таблицы change_account
kol- значение new_val для type_change_account_id=4
pl - значение new_val для type_change_account_id=1
start_date выбирается актуальная дата для значений kol и pl

Задача состоит в том, чтобы составить месячный отчёт по изменениям всех аккаунтов.
Например по одному аккаунту у нас изменялись данные 4 раза за месяц
account id | type_change_account_id | old_val | new_val | start_date
1 | 1 | 2 | 3 | 5.10.2012
1 | 4 | 25 | 30 | 8.10.2012
1 | 4 | 30 | 28 | 18.10.2012
1 | 1 | 3 | 1 | 23.10.2012

Необходимо получить таблицу:
account id | Kol | pl | start_date
1 | 2 | 25 | 1.10.2012
1 | 3 | 25 | 5.10.2012
1 | 3 | 30 | 8.10.2012
1 | 3 | 28 | 18.10.2012
1 | 1 | 28 | 23.12.2012
Если есть какие либо идеи- подскажите, будьте любезны
Spawnedmate
Дата: 28.01.2013 14:46:35
account id | type_change_account_id | old_val | new_val | start_date
1________|_________1____________ | __2___ |__ 3___ | 5.10.2012
1________|_________4____________ | __25__ |__ 30__ | 8.10.2012
1________|_________4____________ | __30__ |__ 28__ | 18.10.2012
1________|_________1____________ | __3___ |__ 1___ | 23.10.2012

account id | Kol | pl | start_date
1________ |_2_| 25 | 1.10.2012
1________ |_3_| 25 | 5.10.2012
1________ |_3_| 30 | 8.10.2012
1________ |_3_| 28 | 18.10.2012
1________ |_1_| 28 | 23.12.2012

Прошу прощения, не знаю как добавлять таблицы в сообщениях, 1 пост на форуме
Ещё раз прошу, если у кого то есть идеи, как это организовать, подскажите
Akina
Дата: 28.01.2013 15:36:24
Пока алгоритм получения конечных данных из исходных несколько туманен. А появление в конечной таблице данных, отсутствующих в исходной таблице - вообще песня...
Уделите время объяснению происходящего.
Spawnedmate
не знаю как добавлять таблицы в сообщениях, 1 пост на форуме
Тег CSV (данные в строках, значения колонок разделаем запятыми). Плюс ОБЯЗАТЕЛЬНО предпросмотр.
Структуру таблиц давайте в виде DDL в тегах кода.
Spawnedmate
Дата: 28.01.2013 18:42:41
Имеется таблица с данными
idaccount_idtype_change_account_id old_valnew_valstart_date
11120225.10.2012
21122258.10.2012
311252111.10.2012
4141317.10.2012
514219.10.2012
614325.11.2012
711211825.10.2012
81118295.11.2012
92115176.10.2012
102124278.11.2012
11243210.10.2012
12242412.11.2012
1321172420.10.2012


Необходимо сделать отчёт изменений по аккаунтам(месячный, годичный)
Выбирая какой либо временной промежуток(чаще всего месяц), необходимо проанализировать все изменения аккаунта, где type_change_account_id=1,4, причем вынести в отдельные столбцы значения для type_change_account_id=1 и 4, в моём случае это id площади квартиры и id количества жильцов квартиры.
Запросом
Select ca.account_id, ca.type_change_account_id, ca.old_val, ca.new_val, ca.curr_date 
from DBA.change_account ca
 where ca.type_change_account_id in (1,4) and ca.start_date between ('2012-10-01') and ('2012-10-31')  


я получаю все необходимые мне данные, однако у таблицы данных должен быть вид
account_idkolpldate

где account_id- номер аккаунта
date - дата изменения по аккаунту(любого)
kol- актуальный new_val для данного аккаунта, заданной даты и type_change_account_id=4
соответственно колонка pl для type_change_account_id=1
То есть, если нам необходимо получить данные за октябрь 2012, у нас должна получится вот такая таблица
account_idkolpldate
12225.10.2012
12258.10.2012
11259.10.2012
112111.10.2012
132117.10.2012
131825.10.2012
23176.10.2012
221710.10.2012
222420.10.2012


п.с. Надеюсь оформил понятнее