【发布时间】:2021-11-25 02:58:21
【问题描述】:
我在主表中有这样的示例数据,值列的数据类型为 varchar。
|primary_id |identifier_one |identifier_two |value |
|-------------|-----------------|-----------------|-----------|
|10001 |3000 |23 |23_val_1 |
|10001 |3000 |24 |24_val_1 |
|10001 |3001 |25 |25_val_1 |
|10001 |3001 |26 |26_val_1 |
|10002 |3000 |23 |23_val_2 |
|10002 |3000 |24 |24_val_2 |
|10002 |3001 |25 |25_val_2 |
|10002 |3001 |26 |26_val_2 |
我想要的输出是
|primary_id |3000_23_col |3000_24_col |3001_25_col |3001_26_col |
|-------------|----------------|----------------|----------------|----------------|
|10001 |23_val_1 |24_val_1 |25_val_1 |26_val_1 |
|10002 |23_val_2 |24_val_2 |25_val_2 |26_val_2 |
我必须查询主表和 where 子句如primary_id=1001,值实际上是基于两列identifier_one 和identifier_two,同样在结果表列名会不同可能使用别名。我尝试使用数据透视,但无法形成正确的查询。请指导我。
【问题讨论】:
标签: sql oracle plsql pivot rdbms