在oracle中将结果行合并为一个

时间:2014-04-10 09:27:41

标签: sql oracle

我使用了5个表创建了一个视图。输出数据几乎来自所有表格,大约有10列。输出如下:

EmployeeName   Addr    Dept
___________________________

Vishal         Pune    Finance
Vishal         Pune    null
Ahmed          Bombay  Admin
Ahmed          Bombay  Null

我需要输出为:

EmployeeName   Addr    Dept
___________________________

Vishal         Pune    Finance
Ahmed          Bombay  Admin

在上面的示例中,请考虑显示的列来自不同的表。请提出一些解决方案

1 个答案:

答案 0 :(得分:0)

请检查以下是否是您要求的内容?

WITH TAB1 AS 
( SELECT 'Vishal' ENAME, 'Pune' ADDR, 'Finance' DEPT FROM DUAL 
  UNION
  SELECT 'Vishal' ENAME, 'Pune' ADDR, NULL DEPT FROM DUAL
  UNION
  SELECT 'Ahmed' ENAME, 'Bombay' ADDR, 'Admin' DEPT FROM DUAL
  UNION
  SELECT 'Ahmed' ENAME, 'Bombay' ADDR, NULL DEPT FROM DUAL
) SELECT * FROM TAB1 WHERE DEPT IS NOT NULL;