SQL 两行两列显示一行四列或一行两列
前言
两行两列显示一行四列
id | A | B |
---|---|---|
1 | aaa | bbb |
1 | ccc | ddd |
==>转化为
id | A | B | A | B |
---|---|---|---|---|
1 | aaa | bbb | ccc | ddd |
SQL 一对多转为一对一
解决
方法一
select id, (select max(A) || '~' || max(B)from dualwhere id=1) A,(select min(A) || '~' || min(B)from dualwhere id=1) Bfrom dual
显示
不想拼接的可以尝试最下边的方法
id | A | B |
---|---|---|
1 | aaa~bbb | ccc~ddd |
优点
写在子查询中可以动态传参
缺点
只能针对两行数据 多行不行
方法二
select id,
( select ROW_NUMBER() OVER (partition BY id ORDER BY id desc,price_batch_id desc) AS rid ,d.a|| '~' ||d.b from dual d where rownum=1),
( select ROW_NUMBER() OVER (partition BY id ORDER BY id desc,price_batch_id desc) AS rid ,d.a|| '~' ||d.b from dual d where rownum=2)
from dual
--格式化
select (select ROW_NUMBER() OVER(partition BY id ORDER BY id desc, price_batch_id desc) AS rid,d.a || '~' || d.bfrom dual dwhere rownum = 1),(select ROW_NUMBER() OVER(partition BY id ORDER BY id desc, price_batch_id desc) AS rid,d.a || '~' || d.bfrom dual dwhere rownum = 2)from dual
显示
id | A | B |
---|---|---|
1 | aaa~bbb | ccc~ddd |
优点
可以获得多行多列 调整Rownum即可
缺点
不可以动态传参(建议可以创建虚表,关联rid形式传参)
SQL 两行两列显示一行四列或一行两列相关推荐
- HTML中怎样把文字分两栏显示,word设置一页分两栏的三种方法
我们在阅读报纸的时候,经常看到分栏的现象,这就是通过Word当中的"分栏"功能进行设置的,那么下面就由学习啦小编给大家分享下word设置一页分两栏的技巧,希望能帮助到您. word ...
- Java黑皮书课后题第8章:***8.20(游戏:四子连)两人玩游戏,轮流将有颜色的棋子放在一个六行七列的垂直悬挂网格中。谁先实现一行、一列或者一对角线上有4个相同颜色的棋子。
***8.20(游戏:四子连)两人玩游戏,轮流将有颜色的棋子放在一个六行七列的垂直悬挂网格中.谁先实现一行.一列或者一对角线上有4个相同颜色的棋子 题目 题目描述与运行示例 破题 代码 题目 题目描述 ...
- 如何将SQL查询出的两列合并成一列显示,并用逗号隔开
如何将SQL查询出的两列合并成一列显示,并用逗号隔开 先给出一个表 DROP TABLE IF EXISTS `apps`; CREATE TABLE `apps` (`id` int NOT NUL ...
- Echarts 问题解决 —— 设置图例、提示框上下角标;坐标轴文字过多显示不全、文字竖直一列显示、让坐标轴类目隔一个换一行;
目录 1.设置图例.提示框上下角标 1.1 修改弹框内容的方法 1.2 修改图例文字的方法 1.3 在 rich 中单独设置角标 1.4 实战 2.坐标轴文字过多显示不全 2.1 方法一:将 坐标轴上 ...
- 如何将文章列表用li分两列显示
我们平时用ul或ol标签来罗列文章列表时默认是一列,为了美观起见,想把它们两列显示要如何操作呢?怎么用css定义它们? 其实相对比较简单,用几行css样式定义一下就够了,可以用div + css来控制 ...
- 【题目】在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法?请设计程序算出结果。
文件名:[作业] 作者:〈漆黑〉 描述:〈 在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同一列或同一斜线上,问有多少种摆法?请设计程序算出结果. 〉 创建时间 ...
- 在excel中用VB对两列数据进行四参数曲线拟合,并输出方程
可以使用 VBA 代码来实现在 Excel 中对两列数据进行四参数曲线拟合,并输出方程. 1.首先,在 Excel 中选择要进行拟合的数据列. 2.然后,在 Excel 中打开 "开发人员& ...
- SQL不重复查找数据及把一列多行内容拼成一行
如下表: 表名:Test IDRowIDCol1Col2 11AA 21BA 31AB 41CB 1,查找表中字段重复的只查找一次 select distinct Col1 from Test ; s ...
- PHP左侧分类表显示,利用CSS实现wordpress侧边栏分类目录分两列显示 | 迷失的世界...
细心的童鞋或许已经发现了我的博客侧边栏的那个分类目录已经由原来的一栏显示变成分两栏显示了,这个主要是根据你自己博客的需要去修改的,如果你希望实现,可以有很多功能强大的插件去实现分类目录分两栏显示,但是 ...
最新文章
- Java编程基础-运算符
- 程序基本功之遍历二叉树
- java emailbuilder 样式_Java8通用Builder了解一下
- k8s angular mysql_Angular 实践:如何优雅地发起和处理请求
- RedHat7.0 设置weblogic开机自启动
- 用单片机制作简单的频率计
- 【病毒】开机弹出“tlntsvi_6635.exe程序”解决方案
- vsftpd服务详解
- oracle 数据库-数据字典一
- mysql 日期格式化_每天一个常用MySQL函数-from_unixtime等
- 高中信息技术python及答案_浙江省新高中信息技术教材,将围绕Python进行并增加编程相关知识点...
- 用于预测的神经网络模型,神经网络模型可解释性
- Sketch54 for mac汉化破解版
- 团队成立——Microhard
- android 手表解决方案,智能手表解决方案
- 对数の学习笔记(一)
- 【嵌入式AI】TFLite介绍
- LCD12864驱动(Proteus中用51单片机驱动AMPIRE128X64)
- c语言中以w方式进行文件操作时,文件操作
- windows10如何安装hyper-v