繁体   English   中英

将 Oracle SQL 中的行转换为列

[英]Convert rows to column in Oracle SQL

这是我的查询:

select tb.a, tl.c
from table1 tb
left join table2 tl on tb.a = tl.a1

这是 SQL 查询的结果:

在此处输入图像描述

结果就是这种格式

a          c
----------------   
16078      3879
16078      3880
16079       3881
16079       3882

我想把它变成这个

在此处输入图像描述

a        c          c2
-------------------------
16078    3879       3880
16079    3881       3882

我应该怎么做才能得到 SQL 的结果?

如果您确定每个 a 只有 2 个不同的 c 值,并且最小值需要进入 col c 并且最大值需要进入 col c2,您可以使用以下查询 -

SELECT tb.a,
       MIN(tl.c) c,
       MAX(tl.c) c2
  FROM table1 tb
  LEFT JOIN table2 tl ON tb.a = tl.a1
 GROUP BY a;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM