在Oracle中将具有多列的多行转换为一个记录
在Oracle SQL查询中我们得到了40个记录具有13列。我想合并所有这些记录到一列意味着40 * 13 = 520列在1记录。其EG-样品表记录数在Oracle中将具有多列的多行转换为一个记录
col1 col2 city cntry conti 1 abc NYC USA NA
2 def LON UK EU
3 xyz DUB UAE ASIA
再经过合并所有记录&进入一个记录,那么它应该像下面的单
col1 col2 city cntry conti col1 col2 city cntry conti col1 col2 city cntry conti 1 abc NYC USA NA 2 def LON UK EU 3 xyz DUB UAE ASIA
回答:
如果列col1
包含唯一值那么你可以使用pivot
:
select * from t
pivot (max(col1) col1, max(col2) col2, max(city) city, max(cntry), max(conti) conti
for col1 in (1, 2, 3))
SQLFiddle demo
以上是 在Oracle中将具有多列的多行转换为一个记录 的全部内容, 来源链接: utcz.com/qa/265406.html