У меня есть SQL результат, который выглядит как этотOracle 11g - разделить столбцы в строки
ID | ERROR_1 | ERROR_2
1 | '1' | '2'
2 | null | '2'
3 | '1' | '2'
4 | '1' | null
, и я хочу, чтобы разделить каждый ERROR_X
строку результат:
ID | ERROR
1 | '1'
1 | '2'
2 | '2'
3 | '1'
3 | '2'
4 | '1'
Возможно ли это? Если да, как я могу это сделать?
запрос похож на это:
SELECT h.id as ID,
CASE WHEN h.floor=1 THEN '1' END as ERROR_1,
CASE WHEN w.color='blue' THEN '2' END as ERROR_2,
FROM home h
LEFT JOIN window w ON w.id=h.window_id;
В настоящее время я использую Союзы, но стоимость этого запроса огромна (каждый запрос должен выбрать данные из таблицы, где ID имеет типа строки, сделать некоторые соединения и фильтрации данных). Я хочу попытаться запросить основную таблицу с идентификатором строки только один раз.
См. Мое редактирование. В настоящее время я использую UNIONS, но стоимость этого слишком велика. – pepuch