У меня есть запрос в Oracle, который группирует в Field1. Этот запрос возвращает 2 строки, однако row1 имеет счет 2 в поле field1. Я хотел бы отобразить оба значения Field1 в одной ячейке на row1. Возможно ли это?
Тим Холл имеет коллекцию различных методов агрегирования строк , доступных в Oracle.В зависимости от версии Oracle я обычно предпочитаю встроенную аналитическую функцию LISTAGG (для 11.2) или определяемую пользователем статистическую функцию для более ранних выпусков.
Написание небольшой хранимой процедуры иногда проще всего, потому что вы можете управлять форматированием независимо от числа. Другие ответы могут быть лучше, но это быстрее, если вы знакомы с PL / SQL.
Считать два легко, просто MIN (field1) || ',' || MAX (field1)
Вы можете по-разному обслуживать две строки с одинаковым значением:
CASE WHEN MIN (поле1)! = MAX (поле1) THEN MIN (поле1) || ',' || MAX (поле1) ELSE MIN (поле1) END