sql合并字段

<!-- 对发送方式合并查询 -->
<!--查询所有满足条件的营销活动 -->
<select id="CRM-MK-ACT-DEFINE-SELECT" resultMap="RM-MK-ACT-DEFINE-INFO">

select mad.msg_def_name ,mad.msg_def_type,mad.msg_def_content,mad.id,
mad.act_start_date,mad.act_end_date,mad.remark,mad.created_user,masw.NAME from
mk_act_define mad LEFT JOIN (select *,group_concat(case when sent_way_value = ‘SMS‘ then ‘短信‘ when sent_way_value = ‘Mail‘ then ‘邮件‘ end SEPARATOR ‘;‘) as NAME
from mk_act_sent_way group by msg_def_id) masw on (mad.id=masw.msg_def_id)
where mad.`status`=‘1‘
<!-- <![CDATA[ and msg_def_type <> ‘BIRTHDAY‘]]> -->
<dynamic>
<isNotEmpty property="mkactdefine.id" prepend=" and ">
mad.id=#mkactdefine.id#
</isNotEmpty>
<isNotEmpty property="mkactdefine.msgDefName" prepend=" and ">
mad.msg_def_name=#mkactdefine.msgDefName#
</isNotEmpty>
<isNotEmpty property="mkactdefine.idList" prepend=" and ">
mad.id
<iterate property="mkactdefine.idList" close=")" open="in("
conjunction=",">
<![CDATA[
#mkactdefine.idList[]#
]]>
</iterate>
</isNotEmpty>
<isNotNull property="mkactdefine.actEndDate" prepend="and">
<![CDATA[
mad.act_end_date > date_add(CURRENT_DATE(), interval -1 day)
]]>
</isNotNull>
</dynamic>
order by mad.created_date desc
LIMIT #limitStart#,#pageSize#;

</select>

group_concat  mysql

oracle wm_concat(column)函数使我们经常会使用到的,下面就教您如何使用oraclewm_concat(column)函数实现字段合并,如果您对oracle wm_concat(column)函数使用方面感兴趣的话,不妨一看。

shopping:

-----------------------------------------

u_id       goods            num

------------------------------------------

1                苹果                2

2                 梨子               5

1                 西瓜               4

3                 葡萄               1

3                香蕉                1

1               橘子                 3

=======================

想要的结果为:

--------------------------------

u_id          goods_sum

____________________

1              苹果,西瓜,橘子

2              梨子

3              葡萄,香蕉

---------------------------------

  1. select u_id, wmsys.wm_concat(goods) goods_sum
  2. from shopping
  3. group by u_id

想要的结果2:

--------------------------------

u_id          goods_sum

____________________

1              苹果(2斤),西瓜(4斤),橘子(3斤)

2              梨子(5斤)

3              葡萄(1斤),香蕉(1斤)

---------------------------------

使用oracle wm_concat(column)函数实现:

  1. select u_id, wmsys.wm_concat(goods || ‘(‘ || num || ‘斤)‘ ) goods_sum
  2. from shopping
  3. group by u_id
时间: 2024-11-17 01:49:06

sql合并字段的相关文章

sql server 合并字段

合并字段用+号连接就可以了,不过要判断是不是有的合并项为NULL.如果其中一项为NULL,则整个合并字段为NULL. (IsNull(a.supplier, '')  + IsNull(a.po, '')  +  IsNull(a.inv, '') + IsNull(a.REMARK, '') ) as REMARK 用IsNull函数来规避这种情况

如何解决 MS Sql 合并复制所带来的问题

MS Sql 合并复制会自动给每个表添加三个triger和一个rowguid字段,这样有时会导致我们往表添加数据时出错或删除表不成功等问题,当然我们可以一个表一个表去删除这些triger,但有些约束去是删除不了地,还有如果有上百个表那删除都要花费半天时间,难道没有好的方法了吗? 其实MS已经给出了一个存储过程,只是很少有人只知道.我们只要执行 sp_removedbreplication 'DBNAME' 它就可以解决前面的问题.

SQL按字段分组取最大(小)值记录(重复记录)

SQL Server 按某一字段分组 取 最大 (小)值所在行的数据 -- 按某一字段分组 取 最大 (小)值所在行的数据 -- (爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 2007-10-23于浙江杭州) /* 数据如下: name val memo a    2   a2(a的第二个值) a    1   a1--a的第一个值 a    3   a3:a的第三个值 b    1   b1--b的第一个值 b    3   b3:b的第三个值 b    2   b2b2b2b2 b   

Oracle/SQL 修改字段类型和长度

标准SQL修改字段类型和长度语句:ALTER TABLE tableName modify column columnName 类型;例如Mysql的修改字段类型语句:alter table test modify column name varchar(255); Oracle修改字段类型和长度语句:ALTER TABLE tableName modify(columnName 类型);例如alter table test modify(name varchar(255)); Oracle/S

SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理

原文:SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理 SQL Server 字段类型 decimal(18,6)小数点前是几位? 不可否认,这是一个很低级的问题.... 为什么会问这么低级的问题? 由于这个问题,导致一个数据导入的SP执行失败....以至于困扰了我好几个小时.... 事情是这样的... 公司总部上了一套Oracle的ERP,我们系统中有些数据要从里面取,比如Supplier,Product等. Oracle会导出数据文件,我

SQL 判断字段中指定字符出现的次数

原文地址:SQL 判断字段中指定字符出现的次数 原理:将指定字符转换为空,原长度减去转换后的长度就是指定字符的次数. 在做数据处理时遇到一个SQL操作的问题就是有一列关键词字段,字段中包含各种乱七八糟的字符,其中有一个双引号“ 是关键词中不需要的,所以需要去掉,而一般只有带两个”的才需要去除,所以首先得先找到含有双引号的且双引号出现两次的值,然后删除.这里提取指定符串在 字段中的出现次数SQL为: select   *   from   google_keyword    where   len

SQL修改字段默认值

一.SQL修改字段默认值 alter table 表名 drop constraint 约束名字 说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 说明:添加一个表的字段的约束并指定默认值 go 例: alter table T_ping drop constraint DF_T_ping_p_c alter table T_ping add constraint DF_T_ping_p_c DEFAUL

sql修改字段长度

--sql修改字段长度的语法: ALTER TABLE 表名 MODIFY 字段名 字段类型; --sql修改字段长度的示例代码: ALTER TABLE qtline MODIFY qtl_bidernote VARCHAR(4000); --标准SQL,对任何数据库都适用: ALTER TABLE fzrtmis.reporttemplate MODIFY REPNAME VARCHAR(100); --修改字段名名称: ALTER TABLE TABLENAME RENAME COLUMN

Aspose.Words使用教程之如何重命名合并字段

本文为Aspose.Words使用教程--重命名合并字段,什么是Aspose.Words呢?它是一款先进的文 档处理控件!有什么用呢?无需MS Word也可执行各种文档处理任务,包括文档的生成.修改.渲染.打印,文档格式转换和邮件合并等文档处理! 一个示例展示如何创建自己的合并字段类,代表一个在微软的Word文档中允许您获取或设置它的名称的合并字段. Example 如何在一个文档里重命名字段. C#  using System;   using System.Text;   using Sys