У меня есть эти таблицы:Oracle SQL группировать данные по значению
TABLE_A
ID | ATTR_NAME | ATTR_ID | START_DATE
-------------------------------------
1 | XPTA | 12 | 01-10-2013
1 | XPTO | 167 | 01-10-2013
1 | XPTA | 13 | 04-12-2013
2 | XPTA | 12 | 03-09-2015
2 | XPTO | 6 | 05-08-2012
TABLE_B (just to help understand)
ATTR_NAME | ATTR_ID | DESCRIPTION
---------------------------------
XPTA | 12 | ASM5
XPTO | 167 | weird attr
XPTA | 13 | DBSO12
XPTO | 6 | gosh...
Есть ли способ сделать это выберите возвращение?
ID | XPTA | XPTO | START_DATE
-----------------------------
1 | 12 | 167 | 01-10-2013
1 | 13 | | 04-12-2013
2 | 12 | | 03-09-2015
2 | | 6 | 05-08-2012
В принципе, COL1 представляет собой атрибут и COL2 значения идентификатора COL1, связанное с ID, начиная с START_DATE Примера: Ресурс Mike (ID), имеет профиль затрат (COL1) из ASM5 (COL2), начиная с 01-10-2013 (START_DATE)
Идея - группировать атрибуты по дате для каждого идентификатора.
Единственный способ я вижу, что я могу сделать это е сначала сделать выберите START_DATE, отличную от TABLE_A, а затем для каждой даты извлеченной сделать выберите ID, COL1, Col2,: date_start из TABLE_A где Дата_начала =: date_start а затем каким-то образом сделать значения COL1 моими столбцами, а COL2 - значениями моих значений.
Я предполагаю 6 в последнем ряде желаемых результатов должны быть в третьем столбце, а не во втором. –
Вы совершенно правы. Я извиняюсь за ошибку. Исправлена. – FEST