У меня есть таблица вроде этого:Oracle SQL запрос с использованием случай, когда, уплотняя нулевые поля
Предметы
id group old_new object
1 A O pen
2 A N house
3 B O dog
4 B O cat
5 C N mars
6 C O sun
7 C N moon
8 C o earth
Я хотел бы, выберите возвращение:
товары
group new_object old_object
A house pen
B null dog
B null cat
C mars sun
C moon earth
Если я попробую:
select id,
case when old_new = 'N' then object end as new_object,
case when old_new = 'O' then object end as old_object
from the_table
order by id;
У меня есть 8 ряда со многими полями как нулевые эсов: последние строки:
group new_object old_object
C mars null
c null sun
C moon null
c null earth
Но групп CI хотят только 2 строки ... не нравятся другой запрос «Oracle SQL присоединиться к тому же таблицам ЕСС ...», потому что здесь не хочу нулевой результат
Как определить, что «Марс» должны быть в паре с «солнце» и «луна» с «землей», а не наоборот в группе «C»? –
Возможный дубликат [Oracle SQL query, соединяющий ту же таблицу] (http://stackoverflow.com/questions/34020184/oracle-sql-query-joining-same-table) – davegreen100
Марс и луна в первой таблице имеют набор old_new к «N», что означает новый, так что они находятся под столбцом new_object .. – programAll