sql – 将一行转换为具有较少列的多行
发布时间:2021-01-19 02:18:24 所属栏目:MsSql教程 来源:网络整理
导读:我想在PostgreSQL中将单行转换为多行,其中删除了一些列.这是当前输出的示例: name | st | ot | dt |-----|----|----|----|Fred | 8 | 2 | 3 |Jane | 8 | 1 | 0 |Samm | 8 | 0 | 6 | Alex | 8 | 0 | 0 | 使用以下查询: SELECT name,st,ot,dtFROM times; 这就
我想在PostgreSQL中将单行转换为多行,其中删除了一些列.这是当前输出的示例: name | st | ot | dt | -----|----|----|----| Fred | 8 | 2 | 3 | Jane | 8 | 1 | 0 | Samm | 8 | 0 | 6 | Alex | 8 | 0 | 0 | 使用以下查询: SELECT name,st,ot,dt FROM times; 这就是我想要的: name | t | val | -----|----|-----| Fred | st | 8 | Fred | ot | 2 | Fred | dt | 3 | Jane | st | 8 | Jane | ot | 1 | Samm | st | 8 | Samm | dt | 6 | Alex | st | 8 | 如何修改查询以获得上述所需输出? 解决方法SELECT times.name,x.t,x.val FROM times cross join lateral (values('st',st),('ot',ot),('dt',dt)) as x(t,val) WHERE x.val <> 0; (编辑:鹰潭站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 资源池“internal”中没有足够的系统内存来运
- sql-server – 高效的事务,记录锁定
- 取代刻录机,全民奔康宝!
- sql-server – SQL Server表达的数据库数量
- sql-server – VB6 ADODB.Recordset RecordCount属性始终返
- 从一列复制到另一列(不同的表相同的数据库)mysql
- wcf – 如何从自定义位置读取app.config,即从.NET中的数据库
- sql-server – 实体框架缓存查询计划性能随着不同参数而降低
- sql-server – 每个实例或每个数据库的SQL排序规则?
- sql-server – SQL SELECT订购具有Null值的列
站长推荐
热点阅读