精华内容
下载资源
问答
  • 多行内容合并一行的两种方式

    千次阅读 2021-01-14 10:07:03
    在利用Unix操作系统在实现一些具体...但是在报表显示的时候,可能希望对于同一张材料上的号码,能够在同一行上显示,不同的行码之间利用分隔符进行分割。此时就需要用到Unix操作系统中的合并行的实现方式。如下图所...

    在利用Unix操作系统在实现一些具体应用的时候,可能需要把某些显示的结果进行行与行之间的合并。如现在需要用Unix操作系统设计一个彩票软件,每一张彩票上最多可以打印五注内容。在Unix操作系统的数据文件中这五注内容是按五行来存放的。但是在报表显示的时候,可能希望对于同一张材料上的号码,能够在同一行上显示,不同的行码之间利用分隔符进行分割。此时就需要用到Unix操作系统中的合并行的实现方式。如下图所示:

    如上图中,左边是原始文件,右边是需要的文件格式。那该如何实现呢?在Unix操作系统中,主要有两种方式可以实现这个需求。可能还有其他笔者不了解的实现方式。

    第一种方式:利用vi命令中的J选项。

    在一些文本处理软件中,要把某一行与下一行之间进行合并,这是很简单的一个操作。至需要把行与行之间的行分隔符删除即可。但是对于Unix操作系统中的vi命令这个做法没有效果。而且每天要卖出几百张彩票,每张彩票的号码都需要这么处理的话,那么用户还不把你骂死。为此系统工程师必须要想一些两全其美的方法,即可以实现行与行合并的需求,又不会增加很多的工作量。

    此时如果能够灵活应用Unix操作系统中的vi命令中的J选项就可以实现这个需求。J选项主要用来删除行与行之间的换行符,并把下一行的内容添加到当前行的后面。不过在使用这个选项的时候,需要注意行的总长度是有限制的。在Unix操作系统中,一行的内容不能够超过vi允许的最大行长度,一般情况下为2000。不过在Linux操作系统中,则没有这方面的限制。从这个需求来看,一张彩票最多只能够打印五注号码,每注号码为7个字符,再彩票的序列号为8个字符,那么一行最多也就是50个字符(再加上四个分隔符)。

    为此可以在校本程序中利用While 循环,把同一个彩票序号下的行进行合并(利用vi命令的J选项删除行分隔符),然后再在每个彩票号码后面加入|分隔符即可。不过vi命名与While循环语句结合时比较难以控制。笔者在实现类似需求的时候,不怎么利用这个vi命令,而是采用后面这种处理方式。

    第二种处理方式:利用paste命令来实现。

    Paste命令顾名思义就是一个粘贴命令。但是这个paste命令有比较多复杂的选项,利用这些选项可以实现一些比较复杂的需求。如果要实现以上的需求的话,那么主要需要使用的是paste命令中的-s与-d两个选项。

    -d选项主要用来指定需要采用的分隔符。如需要把原先分布在不同行之内的彩票号码合并在同一行时,需要使用什么符号来进行分隔。为了提高合并后文件的可读性,行合并后的内容肯定需要采用分隔符进行分隔。Paste命令所采用的默认选项为空格符。也就是说如果不特殊指定的话,彩票号码之间是使用空格来进行分隔的。就如同“4522467 4672435”一般显示。但是这仍然不怎么直观。如果我们需要使用其他符号,如|符号来进行分隔的话,则需要利用-d选项来指定这个分隔符。

    -s选项主要用来合并行。也就是说,使用paste命令的-s可选项可以实现像vi命令的J选项那样的功能,可以把多行的内容合并在一起。但是光用这个选项的话,还不能够实现如上的需求。如利用paste ?s num.txt命令,则操作系统是会把分布在各行中的内容合并起来,但是其是合并为一行。也就是说,如果一个文件中有300行的内容,那么其会把这些行的内容合并在一行,中间利用分隔符来进行分隔。这合并后的结果可读性会比较差,不是我们所希望看到的结果。

    此时我们就需要把这连个选项来结合使用。要实现文章刚开始那样的需求,可以通过命令“paste ?s ?d “|||||\n” 文件名”来实现。采用这个命令后,操作系统会以循环的方式插入分隔符。如上面这个文件,其可以把第一行与第二行合并成一行,中间利用|分隔符进行分割;然后把第二行与第三行进行合并,中间也利用|分隔符进行合并。以此类推,直到把第五行与第六行进行合并,并利用|分隔符进行分隔。当第六行与第七行的时候,也是会先合并,但是其中会以一个分行符号进行分隔。此时其实就是另起一行的意思了。操作系统会按照这个运作方式,直到文件结束为止。最后这个文件的显示结果如下:

    最后显示的结果与用户最终需要的结果可能稍微有点差别。如用户需要利用|分隔符来进行分隔。这个也是可以实现的,只需要把命令中的#符号换成|符合即可。但是笔者还是建议用户采用#分隔符为好。因为|这个分隔符号根数字1很相像,很容易引起误读。所以笔者这里采用了#这个不容易误读的分隔符。另外利用paste命令来进行合并行的时候,只能够按固定的行数来分隔。如上面笔者连续使用了五个#分隔符和一个分行符号,就表示是连续把六行的内容合并在一起,然后插入一个分行符号。但是在买彩票的时候,可能一张彩票上只有三个号码。此时就需要在原始文件中插入一行空行。也就是说在彩票号码保存的时候,一张彩票必须要有六行的内容。如果刚好一张彩票买了五柱那是最好。如果不到五个号码的话,那么在文件保存的时候最好能够让程序补足剩余的行数。只有如此才能够利用paste命令来按一定的规律来合并行数。如上图所示,后面连续###就是因为文件中的空行所致。可见利用“paste ?s ?d “|||||\n” 文件名”这种方式来实现文件中行的合并要比使用vi命令简单的多。如果用户需要把这个结果保存在文件中的话,就可以利用重定向符号把其保存起来,以便后续查询或者打印操作等等。

    Paste命令是Unix操作系统中功能很强的一个命令,特别是跟其他命令结合更能够实现一些非常复杂的功能。这也是Unix操作系统命令操作方式令人向往的地方。如可以把这个命令跟CUT命令结合。用CUT命令街区的内容可以通过paste命令粘贴到另一个位置,从而实现垂直方式的粘贴等等。这个功能在微软的Word文本中是无法实现的,只有在其Excel表格中才能够实现。而Unix操作系统中即使对于普通的文本文件,也可以实现类似Excel的表格操作。

    可见,paste命令可以把两个以上的文件按一定的规则合并起来。如现在有两个记事本文件,一个文件存储着学生的学号、姓名;另一个文件存储着学生的学号、总成绩、年级排名等等。两个文件是学号是一一对应的,并且按照一定的顺序排列。现在需要把两个文件进行合并,变为包含学号、姓名、总成绩、年级排序的内容。也就是说要把第一个文件中的学生名字加入到第二个文件中。如果在微软操作系统下,在其记事本工具中是无法实现这个何合并的。而是需要先利用EXCLE表格工具把这两个文件打开,然后再把学生名字复制到另外一张表格中去。如果没有Excle等表格处理工具,那么就无法实现这个需求。但是在Unix操作系统中,则只需要凭借简单地cut命令与paste命令结合就可以把学生姓名内容复制到另外一个文件中。所以说,paste命令与find命令一样,是一个令人称奇的命令。另外值得一提的就是,paste命令不仅可以用来实现文件与文件的合并,还可以把终端输出的内容与存在的物理文件尽心合并。这里由于篇幅限制对这方面的内容就不做过多展开了。以后如果有机会的话,笔者会对会详细介绍如何利用paste命令来实现标准输入与物理文件的结合。若有这方面的需要请请大家关注笔者后续的文章。

    展开全文
  • 主要介绍了mysql将多行数据合并一行的方法,需要的朋友可以参考下
  • 将同一id多行数据合并到一行

    千次阅读 2020-08-25 18:28:07
    1、3个数据源有个相同的字段“batch_no”,根据此相同字段将3个数据源中的数据放到一个报表展示 2、其中需展示的”所属账期“字段数据源中没有,根据数据源中的账期开始日和账期结束日判断,开始日取最早日期,...

    声明:

    数据库为impala

    需求:

    1、3个数据源有一个相同的字段“batch_no”,根据此相同字段将3个数据源中的数据放到一个报表展示

    2、其中需展示的”所属账期“字段数据源中没有,根据数据源中的账期开始日和账期结束日判断,开始日取最早日期,结束日取最晚日期

    所属账期:账期最早2020-05-20 00:00:00,账期最晚2020-07-10 00:00:00

    所属账期就是202005/202006/202007或者202005~202007

    3、其中某系字段例如“发票号”“凭证号”“产业”“渠道名称”等包含多个内容时,在同一行显示。并且,如果发票号或者凭证号是连续的使用“~”,如果不是联系的使用“/”隔开,重复的数据只显示一个(也就是去重)。

    例如:发票号:1,2,3,4,2;是连续的且2是重复的,则结果为:1~4

              发票号:1,3,4,8,3;非连续的且3是重复的,则结果为:1/3/4/8,而不是1/3/4/8/3

    解决步骤:

    第一步:查看源表数据,如下

    客户希望展现的结果:

    第二步:impala的group_concat(column)方法,将某一个列的数据放到一起,需要配合group by使用。(同组的数据,通过group_concat(column)指定要放到一起的数据是哪列);

    首先我们来实现多行合并到一行

    select b.batch_no,
    
    GROUP_CONCAT(b.invoice_no, '/') invoice_no,
    
    GROUP_CONCAT(b.voucher_no, '/') voucher_no
    
    from receive_data.CVP_V_GET_BATCH_NBMS a
    
    left join receive_data.cvp_v_get_invoice_nbms b
    
    on a.batch_no=b.batch_no
    
    where a.deleted_flag='0'
    
    and b.deleted_flag='0'
    
    and a.batch_no='INBMS202005290100'
    
    group by b.batch_no;

    结果如下:

    细心的你会发现,invoice_no是连续的啊,要使用“~”,不能使用“/”拼接啊

    第三步:把连续的使用“~”,不连续的使用“/”连接

    select b.batch_no,
    
    case when max(invoice_no) = min(invoice_no) then max(invoice_no)
    
         when cast(max(invoice_no) as int)+1 - cast(min(invoice_no) as int)=count(invoice_no) then concat(min(invoice_no),'~',max(invoice_no))
    
         else GROUP_CONCAT(b.invoice_no, '/')
    
         end invoice_no,
    
    case when max(voucher_no) = min(voucher_no) then max(voucher_no)
    
         when cast(max(voucher_no) as int)+1 - cast(min(voucher_no) as int)=count(voucher_no) then concat(min(voucher_no),'~',max(voucher_no))
    
         else GROUP_CONCAT(b.voucher_no, '/')
    
         end voucher_no
    
    from receive_data.CVP_V_GET_BATCH_NBMS a
    
    left join receive_data.cvp_v_get_invoice_nbms b
    
    on a.batch_no=b.batch_no
    
    where a.deleted_flag='0'
    
    and b.deleted_flag='0'
    
    and a.batch_no='INBMS202005290100'
    
    group by b.batch_no;

    第四步:现在离我们的目标又进了一步,但是需求还有一点就是要去重。你会想到使用distinct啊。我们来看一下结果:

    select b.batch_no,
    
    case when max(invoice_no) = min(invoice_no) then max(invoice_no)
    
         when cast(max(invoice_no) as int)+1 - cast(min(invoice_no) as int)=count(distinct invoice_no) then concat(min(invoice_no),'~',max(invoice_no))
    
         else GROUP_CONCAT(distinct b.invoice_no, '/')
    
         end invoice_no,
    
    case when max(voucher_no) = min(voucher_no) then max(voucher_no)
    
         when cast(max(voucher_no) as int)+1 - cast(min(voucher_no) as int)=count(distinct voucher_no) then concat(min(voucher_no),'~',max(voucher_no))
    
         else GROUP_CONCAT(distinct b.voucher_no, '/')
    
         end voucher_no
    
    from receive_data.CVP_V_GET_BATCH_NBMS a
    
    left join receive_data.cvp_v_get_invoice_nbms b
    
    on a.batch_no=b.batch_no
    
    where a.deleted_flag='0'
    
    and b.deleted_flag='0'
    
    and a.batch_no='INBMS202005290100'
    
    group by b.batch_no;

    唉呀,报错了!

    这里我把报错信息贴出来:

    [Code: 500051, SQL State: HY000]  [Simba][ImpalaJDBCDriver](500051) ERROR processing query/statement. Error Code: 0, SQL state: TStatus(statusCode:ERROR_STATUS, sqlState:HY000, errorMessage:AnalysisException: all DISTINCT aggregate functions need to have the same set of parameters as count(DISTINCT invoice_no); deviating function: count(DISTINCT voucher_no)
    
    ), Query: select b.batch_no,
    
    case when max(invoice_no) = min(invoice_no) then max(invoice_no)
    
         when cast(max(invoice_no) as int)+1 - cast(min(invoice_no) as int)=count(distinct invoice_no) then concat(min(invoice_no),'~',max(invoice_no))
    
         else GROUP_CONCAT(distinct b.invoice_no, '/')
    
         end invoice_no,
    
    case when max(voucher_no) = min(voucher_no) then max(voucher_no)
    
         when cast(max(voucher_no) as int)+1 - cast(min(voucher_no) as int)=count(distinct voucher_no) then concat(min(voucher_no),'~',max(voucher_no))
    
         else GROUP_CONCAT(distinct b.voucher_no, '/')
    
         end voucher_no
    
    from receive_data.CVP_V_GET_BATCH_NBMS a
    
    left join receive_data.cvp_v_get_invoice_nbms b
    
    on a.batch_no=b.batch_no
    
    where a.deleted_flag='0'
    
    and b.deleted_flag='0'
    
    and a.batch_no='INBMS202005290100'
    
    group by b.batch_no.

    我们只需要看这一部分:

    [Code: 500051, SQL State: HY000]  [Simba][ImpalaJDBCDriver](500051) ERROR processing query/statement. Error Code: 0, SQL state: TStatus(statusCode:ERROR_STATUS, sqlState:HY000, errorMessage:AnalysisException: all DISTINCT aggregate functions need to have the same set of parameters as count(DISTINCT invoice_no); deviating function: count(DISTINCT voucher_no)

    这句话的意思:所有不同的聚合函数都需要有相同的参数集

    原因:DISTINCT只允许在一个列组合上使用。

    第五步:解决多个GROUP_CONCAT在一个select使用。我们可以使用join啊。

    select
    
    i.batch_no,
    
    invoice_no,
    
    voucher_no
    
    from (
    
    select b.batch_no,
    
    max(invoice_no) invoice_no_max,    --查询出最大的invoice_no
    
    min(invoice_no) invoice_no_min,     --查询出最小的invoice_no
    
    count(distinct invoice_no) num,      --计算同一个batch_no下invoice_no总数(去重)
    
    case when max(invoice_no) = min(invoice_no) then max(invoice_no)  --判断是否只有一个invoice_no
    
         when cast(max(invoice_no) as int)+1 - cast(min(invoice_no) as int)=count(distinct invoice_no) then concat(min(invoice_no),'~',max(invoice_no))  --判断是否是连续的,如果是连续的使用“~”连接invoice_no
    
         else GROUP_CONCAT(distinct b.invoice_no, '/')  --如果不连续使用“/”拼接invoice_no
    
         end invoice_no
    
    from receive_data.CVP_V_GET_BATCH_NBMS a
    
    left join receive_data.cvp_v_get_invoice_nbms b
    
    on a.batch_no=b.batch_no
    
    where a.deleted_flag='0'
    
    and b.deleted_flag='0'
    
    and a.batch_no='INBMS202005290100'
    
    group by b.batch_no) i
    
    join
    
    (select b.batch_no,
    
    max(voucher_no) voucher_no_max,
    
    min(voucher_no) voucher_no_min,
    
    count(distinct voucher_no) num,
    
    case when max(voucher_no) = min(voucher_no) then max(voucher_no)
    
         when cast(max(voucher_no) as int)+1 - cast(min(voucher_no) as int)=count(distinct voucher_no) then concat(min(voucher_no),'~',max(voucher_no))
    
         else GROUP_CONCAT(distinct b.voucher_no, '/')
    
            end voucher_no
    
    from receive_data.CVP_V_GET_BATCH_NBMS a
    
    left join receive_data.cvp_v_get_invoice_nbms b
    
    on a.batch_no=b.batch_no
    
    where a.deleted_flag='0'
    
    and b.deleted_flag='0'
    
    and a.batch_no='INBMS202005290100'
    
    group by b.batch_no ) v
    
    on i.batch_no = v.batch_no;

    结果如下:

    细心的你是不是又发现了,我们还有”所属账期“没处理呢。接下来就是处理“所属账期”。

    我们来看一下所属账期的问题。

    查看一下源表:

    select c.batch_no,
    
    sheet_start_date,    --开始时间
    
    sheet_end_date      --结束时间
    
    from receive_data.CVP_V_GET_BATCH_NBMS a
    
    left join receive_data.cvp_v_get_sheet_nbms c on a.batch_no=c.batch_no 
    
    where a.deleted_flag='0'
    
    and c.deleted_flag='0'
    
    and a.batch_no='INBMS202005290100';

    结果如下:共85条,只展现部分数据

    客户希望的结果

    我这里直接贴出sql,原理跟上面一样,这里就不废话了。

    select batch_no,sheet_start_date,sheet_end_date,
    
    case when start_date = end_date then end_date   --判断是否只有一个月份
    
    else concat(start_date,'~',end_date) end account_date --如果不是,使用“~”连接
    
    from (
    
    select c.batch_no,
    
    min(c.sheet_start_date) sheet_start_date,  --获取最早账期
    
    max(c.sheet_end_date) sheet_end_date,   --获取最晚账期
    
    concat(substr(min(c.sheet_start_date),1,4),substr(min(c.sheet_start_date),6,2)) start_date, --取最早账期年月
    
    concat(substr(max(c.sheet_end_date),1,4),substr(max(c.sheet_end_date),6,2)) end_date  --取最晚账期年月
    
    from receive_data.CVP_V_GET_BATCH_NBMS a
    
    left join receive_data.cvp_v_get_sheet_nbms c on a.batch_no=c.batch_no 
    
    where a.deleted_flag='0'
    
    and c.deleted_flag='0'
    
    and a.batch_no='INBMS202005290100'
    
    group by c.batch_no ) t

    到此,我们就把客户提的需求完美解决。

    前台展现:这里使用的是帆软(FineReport)

    顺便秀一下我的个人证书:

    关注我,带你体验更多真实案例。

    展开全文
  • sybase数据库是不支持group_concat函数的,此文件为sybase存储过程样例,可以将多行信息按标识合并一行多列。
  • mysql中将多行数据合并一行数据

    千次阅读 2021-01-19 04:35:11
    一个字段可能对应多条数据,用mysql实现将多行数据合并一行数据例如:一个活动id(activeId)对应多个模块名(modelName),按照一般的sql语句:1 SELECT am.activeId,m.modelName2 FROM activemodel am3 JOIN model m4...

    一个字段可能对应多条数据,用mysql实现将多行数据合并成一行数据

    例如:一个活动id(activeId)对应多个模块名(modelName),按照一般的sql语句:

    1 SELECT am.activeId,m.modelName

    2 FROM activemodel am

    3 JOIN model m

    4 ON am.modelId = m.modelId

    5 ORDER BY am.activeId

    查询出的列表为图1所示:

    d14213bbee2b2c59e50d55aba83af512.png

    修改过后的sql语句,查询后如图2所示:

    1 SELECT am.activeId,GROUP_CONCAT(m.modelName SEPARATOR ',') modelName

    2 FROM activemodel am

    3 JOIN model m

    4 ON am.modelId=m.modelId

    5 WHERE m.valid=1

    6 GROUP BY am.activeId

    需注意:

    1.GROUP_CONCAT()中的值为你要合并的数据的字段名;

    SEPARATOR 函数是用来分隔这些要合并的数据的;

    ' '中是你要用哪个符号来分隔;

    2.必须要用GROUP BY 语句来进行分组管理,不然所有的数据都会被合并成一条记录,

    dc8d0ccf86407cdc7f52928cb02da9cf.png

    如图3

    394cdff01bdd39843f2dd641e38ab3db.png

    SELECT order_id ,GROUP_CONCAT( (case when azfxj >0 and type = '0' then CONCAT('就(', area_2,'m²' , ' ', count_2,'套)') else '' end ) SEPARATOR ',') modelNameFROMtypg_house_order_choosewhere order_id='0500c6a25f2249c08289970305eacc11'

    GROUP BY order_id

    展开全文
  • 利用函数:group_concat(),实现一个ID对应多个名称时,原本为多行数据,把名称合并一行
  • sql实现多行合并一行

    2014-09-26 09:10:05
    可以实现多行查询数据转换到一行上显示,多行的某列信息用“,”号隔开。
  • 把查询name字段得到的多行记录进行合并,可以通过程序实现,但也可直接在sql层完成,需要的朋友可以参考下
  • 代码如下:–创建 test 表 ,插入数据CREATE TABLE test(code varchar(50), [values] varchar(10),[count] int)INSERT test SELECT ‘001’, ... –方法一–将多行合并一行,并做分组统计SELECT code, [values] = 
  • excel多行合并一行

    千次阅读 2019-12-27 15:34:45
    实例:将如下文本合并到一个单元格 1、光标放在需要合并空白处,敲“=”,然后选中要合并内容 2、选完后,按“F9” 3、删除单元格首尾的多余字符 4、将“;”,替换为空白 ...

    实例:将如下文本合并到一个单元格

    1、光标放在需要合并空白处,敲“=”,然后选中要合并内容

     

    2、选完后,按“F9”

    3、删除单元格首尾的多余字符

    4、将“;”,替换为空白

    展开全文
  • 将文件内容多行合并一行,并将中间的空格替换为都好 1.数据输入示例:cat 2.txt tb01 tb02 tb04 2.数据输出示例 tb01,tb02,tb04 3.shell脚本具体实现方法 #文件的多行合并一行 #并空格替换为逗号 ...
  • MySQL多选数据合并成为一行--GROUP_CONCAT()当数据中出现一对多,且需要把多的数据转换为一,形成一对一的数据形式。此时,可以通过程序实现,也可以通过sql直接实现。此处采取SQL方式进行数据处理。SQL方法:利用...
  • 安装Notepad++ 将数据复制Notepad++中 全选内容(ctrl + A);替换(ctrl + F ),按照下图操作即可
  • 1.excel里如何把多行数据合并一行excel里把多行数据合并一行的具体步骤如下:1、首先打开需要编辑的Excel表格,进入编辑页面中。2、然后选中需要合并的数据,将单元格拉至合适的大小。3、然后点击填充后面的倒...
  • '用途,将同客户合同号同样的模具号 的不同颜色合并到一个字段里合并前的数据'客合同 款号 颜色 数量'A 9001 黑色 100'A 9001 白色 200'A 9001 红色 300'''不用ADO 或DAO ,用查询,大家有什么比较好的办法 显示为:'...
  • 多行语句合并一行三个表关联查询的结果集为:SELECT users.name,users.age,users.birthday,roles.name FROM users,users_roles,roles WHERE users_roles.userid = users.id and users_roles.roleid = roles.idname ...
  • Postgresql多行数据合并一行显示

    千次阅读 2021-05-20 09:09:10
    Postgresql多行数据合并一行显示方式一:使用string_agg函数,直接把一个表达式变成字符串方式二:使用array_agg函数,,把表达式变成一个数组,一般配合 array_to_string() 函数使用 方式一:使用string_agg函数,直接...
  • 今天小编就为大家分享一篇python 实现将txt文件多行合并一行并将中间的空格去掉方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 用Python导出工程文件两个子页里的数据成为两个excel表格,但我想把它合并成个个excel表格的两个sheet可以采用一些Excel的模块去实现,比如xlrd、xlwt、openpyxl、xlsxwriter等模块。xlrd模块主要用于读Excel表,...
  • 笔者最近遇到复制多行代码或者其他内容粘贴时会自动的合并一行的现象,百思不得其解,突然意识可能是copytranslator 自动翻译软件搞的鬼,该软件能够配合福昕PDF阅读器使用,很便捷的阅读英文paper,但是在调试...
  • 张图是原始数据,第二张图是想要实现的效果(实际中数据量很大,可能几万数据) 1.将数据转换成表格 CTRL+A 快速全部选中数据 CTRL+T 快速转换成表格 选中数据之后,数据—从表格——进入PoweQuery界面 2. ...
  • 今天在做一个跑批任务中,需要在oracle函数里把多行数据合并一行,顺道发挥下常用的几种方法。 一、wm_concat wm_concat函数是是oracle中常用的函数,功能:行转列,可以将查询出的多行某列值使用逗号进行隔开...
  • 多行合并一行

    2021-03-02 09:01:27
    ctrl + shift + j
  • LISTAGG(列名,'分割符号')oracle 11g 以上的版本才有的一个将指定列名的多行查询结果,用 指定的分割符号合并一行显示:例如:表原始数据: 需求:将 mb1_Transport_License_list 表中的数据,根据 transportation...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,728
精华内容 26,291
关键字:

多行的内容合并到一行