函数拼接记录集某个字段,逗号分隔

数据表:user

id   name group_id
1 张三 1
2 李四 1
3 王五 2

1. mysql、sqlite:group_contact函数: 

select group_concat(id) ids, group_id from user group by group_id

结果:

ids  group_id
1,2 1
3 2

2.mssql:stuff函数 + FOR XML PATH

select stuff((select ‘,‘+convert(varchar(25), id) from user as t2 where t2.id = t1.id FOR XML PATH(‘‘)), 1, 1, ‘‘ ) as ids,
group_id from user as t1 group by group_id 

结果:

ids  group_id
1,2 1
3 2
时间: 2024-11-01 19:11:15

函数拼接记录集某个字段,逗号分隔的相关文章

通过sql的stuff 把一列几行的记录拼接在一行一个字段

---通过sql的stuff 把一列几行的记录拼接在一行一个字段 select FID,a.FCustomerID as 工地ID , 应验收节点 = (stuff((select ',' + isnull(t2.FName,'') from MD_ProjectPlanEntry t1 inner join MD_BaseData6_L t2 on t1.FGCJDXM=t2.FID where t1.FID=a.FID and convert(varchar(6),t1.FPEDATE,11

(03)odoo模型/记录集/公用操作

*模型  模型是业务对象的呈现 * 创建模型:    class Stage(models.Model):    _name = 'todo.task.stage'      _order = 'sequence,name'    _rec_name = 'name'    _table = 'todo_task_stage'        # _name 模型的标识符,用于引用    # _order 用于browsed时的记录的排序    # _rec_name 覆盖默认的name字段   

CI生成查询记录集result(),row(),row_array().....

result() 该方法执行成功返回一个对象数组,失败则返回一个空数组. 一般情况下,我们使用下面的方法遍历结果,代码就像这样: $query = $this->db->query("要执行的 SQL"); foreach ($query->result() as $row){   echo $row->title;   echo $row->name;   echo $row->body;} 本函数的别名是 result_object(). 如果当

存储过程不返回记录集导致ADO程序出错

HRESULT _hr = get_adoEOF(&_result); IsEOF()函数如下:其中ADOCG::_RecordsetPtr m_pRecordset; BOOL IsEOF()       {return m_pRecordset->adoEOF == VARIANT_TRUE;}; m_pRecordset->adoEOF 将执行下面的函数(见msado15.tli) 1    inline VARIANT_BOOL Recordset15::GetadoEOF (

关于ADO记录集GetRecordCount()返回记录条数-1的问题

ADO方式操作数据库我们通常使用GetRecordCount函数来快速判断一个打开的记录集里面总共有多少条记录,但在使用中有时却发现有时可能查不到任何的数据,跟踪发现GetRecordCount()返回值变成了-1,而且记录集里也有记录存在. 一般情况下当ADO不能确定记录条数,或者连接提供者.游标类型都不支持RecordCount的时候,RecordCount属性都将返回-1. 最常用的两个游标类型是: adUseClient 使用由本地游标库提供的客户端游标.本地游标引擎通常允许使用的许多功

Mysql数据库连接、查询、记录集操作代码

Mysql数据库链接代码 function dbConnect($hostname,$username,$pass,$db_name,$pconnect =0) { $func=empty($pconnect) ? 'mysql_connect':'mysql_pconnect'; if(!$connect){ [email protected]$func($hostname,$username,$pass) or die("<font size='2'>Mysql_Error :

kettle记录集连接组件中碰到的问题

描述 记录连接组件刚开始用碰到一个问题,AB两个集合中都有相应记录,但是连接后却取不到B集合中该条数据字段. 如下图所示:主表记录集合输出A次表记录集合输出B记录集连接输出你发现实际存在的记录取不到对应的值. 解决方案 在排除SQL问题后,我突然意识到了这个组件可能有些特殊,就点开tips看,一看就发现了问题所在:连个join的输入流一定要以关联key进行排序. 原文地址:https://blog.51cto.com/4837471/2413337

SQL Server里如何随机记录集

今天的文章,我想给你简单介绍下SQL Server里如何随机记录集. 1 SELECT * FROM Person.Person 2 ORDER BY NEWID() 3 GO 这会引入新的UNIQUEIDENTIFIER数据类型列,SQL Server会在那列上进行物理排序操作. 但是在记录集里列本身没有返回,因为ORDER BY子句在查询SELECT部分逻辑后发生,因此也不会改变记录集. 在SQL Server里,简单但很强大的方法用来随机化你的记录集. 感谢关注!

利用函数返回结果集

利用函数返回结果集方法总结 返回结果集函数可以将变量值传递给函数得到指定的结果集,优点在于灵活控制结果集变量及输出,不用将sql嵌入到页面代码里,业务逻辑如有更改可以直接在数据库中维护. 现总结三种方法:OBJECT TYPE.OBJECT TYPE+PIPE ROW.RECORD+PIPE ROW OBJECT TYPE TYPE定义 create type tp_obj_emp as object( empno NUMBER(4), ename VARCHAR2(10), job VARCH