create table TABLE_1
(
ID VARCHAR2(32 CHAR) not null,
PRODUCT_NAME VARCHAR2(32 CHAR)
)
create table TABLE_2
(
ID VARCHAR2(32 CHAR) not null,
T1_ID VARCHAR2(32 CHAR),
STATUS VARCHAR2(32 CHAR)
)
将如下结果集
PRODUCT_NAME STATUS
产品1 推荐
产品1 热销
产品2 推荐
产品2 热销
产品3
转换为
产品1 推荐 热销
产品2 推荐 热销
产品3
SELECT T1.PRODUCT_NAME,
max(CASE WHEN STATUS = '推荐' THEN STATUS END) AS VALUE1,
max(CASE WHEN STATUS = '热销' THEN STATUS END) AS VALUE2
FROM TABLE_1 T1 LEFT JOIN TABLE_2 T2 ON T1.ID = T2.T1_ID group by T1.PRODUCT_NAME
分享到:
相关推荐
介绍了将多行转为字符串的三种方案,并比较了三种方案的执行效率. 1.sys_connect_by_path + start with ... connect by ... prior + 分析函数 2.自定义Function/SP 3.使用 Oracle 10g 内置函数 wmsys.wm_concat
oracle纯SQL语句多行合并一行,中间用“,”隔开,方便快速的显示在页面上
表中数据多行转1行多列
oracle10g,9i多行合并一行函数
Oracle多行记录合并/连接/聚合字符串的几种方法
NULL 博文链接:https://vernonchen163.iteye.com/blog/1908053
oracle数据库一行拆成多行.sql
oracle某个字段多行记录转化为一行,oracle某个字段多行记录转化为一行。
Oracle 分割字符串 返回多行数据
1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END –Case搜索函数 CASEWHEN sex = ‘1’ THEN ‘男’ WHEN sex = ‘2’ ...
1.被集合字段范围小且固定型 灵活性 性能 难度 2.固定表固定字段函数法 灵活性 性能 难度 3.灵活表函数法 灵活性 性能 难度 4.一条SQL法 灵活性
SQL语句用with将列分割成多列存为临时表,再将多行某个字段拼接合并为一行
多行记录合并 采用的是方法4,希望对你们有用
本文介绍了Oracle多行记录字符串综合操作的几种方法。
本文实例讲述了oracle实现多行合并的方法。分享给大家供大家参考。具体分析如下: 在写sql时,经常会有将某列的字段合并起来,比如将某人名下每个月的工资列示,但是每个人只能占一行。 像这种场景,可能用行列转换...
Oracle sql文总结(case when,查看执行计画,文本操作,查看锁表及解锁,游标)
Oracle插入多行实例,简单介绍了oracle插入多行的实例
oracle行转列
详细讲解了case、when的用法.ASE表达式可以在SQL中实现if-then-else型的逻辑,而不必使用PL/SQL。CASE的工作方式与DECODE()类似,但应该使用CASE,因为它与ANSI兼容。
DB2 SQL 通过函数(CONCAT/POSSTR/LOCATE)实现行转列,列转行 可以按照标点把多列转换为一行,多行转换为一列