oracle 列转成行null 不显示
时间: 2023-11-07 20:15:34 浏览: 76
Oracle的列转行问题
4星 · 用户满意度95%
如果您使用的是Oracle SQL,您可以使用以下语句将列转换为行:
```
SELECT *
FROM (
SELECT column_name, table_name
FROM your_table
)
PIVOT (
MAX(column_name)
FOR table_name IN ('TABLE1', 'TABLE2', 'TABLE3')
);
```
其中,`column_name`是要转换为行的列名,`table_name`是需要转换的表名。如果某个列没有值,则在结果中显示为null。如果您不想显示null值,可以使用`COALESCE`函数将其替换为其他值。
例如:
```
SELECT *
FROM (
SELECT column_name, table_name
FROM your_table
)
PIVOT (
MAX(COALESCE(column_name, 'N/A'))
FOR table_name IN ('TABLE1', 'TABLE2', 'TABLE3')
);
```
这将在结果中将所有null值替换为"N/A"。
阅读全文