要合并重復數據到同一行,可以使用Oracle的聚合函數和GROUP BY子句來實現。以下是一個示例:
假設有一個名為"employees"的表,包含以下字段:employee_id, first_name, last_name, email, hire_date。
SELECT employee_id,
first_name,
last_name,
LISTAGG(email, ', ') WITHIN GROUP (ORDER BY email) AS emails,
MAX(hire_date) AS hire_date
FROM employees
GROUP BY employee_id, first_name, last_name;
以上查詢將根據employee_id, first_name和last_name字段進行分組,并使用LISTAGG函數將重復的email字段合并到同一行,并用逗號分隔。hire_date字段使用MAX函數獲取最大值。
這樣,查詢結果將會在同一行上合并重復的數據。