postgresql 行转列,拼接字符串

create table k_user (
   op_id                VARCHAR(36)          not null,
   op_name              VARCHAR(100)         not null,
   password             VARCHAR(100)         not null,
   real_name            VARCHAR(100)         not null,
   lock_mark            VARCHAR(50)          not null,
   dept_no              TEXT                 null,
   post_id              TEXT                 null,
   tel                  VARCHAR(30)          null,
   mail                 VARCHAR(50)          null,
   create_id            VARCHAR(36)          not null,
   create_name          VARCHAR(100)         not null,
   create_time          VARCHAR(17)          not null,
   modify_id            VARCHAR(36)          null,
   modify_name          VARCHAR(100)         null,
   modify_time          VARCHAR(17)          null,
   remark               VARCHAR(1024)        null,
   constraint PK_K_USER primary key (op_id)
);
create table k_user_role (
   user_id              VARCHAR(36)          not null,
   role_id              VARCHAR(36)          not null,
   constraint PK_K_USER_ROLE primary key (user_id, role_id)
);
create table k_role (
   op_id                VARCHAR(36)          not null,
   op_name              VARCHAR(100)         not null,
   create_id            VARCHAR(36)          not null,
   create_name          VARCHAR(100)         not null,
   create_time          VARCHAR(17)          not null,
   modify_id            VARCHAR(36)          null,
   modify_name          VARCHAR(100)         null,
   modify_time          VARCHAR(17)          null,
   remark               VARCHAR(1024)        null,
   constraint PK_K_ROLE primary key (op_id)
);

select * from (select u.*,     array_to_string ( ARRAY ( SELECT  role_id FROM k_user_role ur WHERE ur.user_id = u.op_id ),‘,‘ ) AS user_role,     array_to_string ( ARRAY ( SELECT  op_name FROM k_user_role ur,k_role r WHERE ur.role_id=r.op_id and ur.user_id = u.op_id ),‘,‘ ) AS role_name FROM  k_user u ) k_user  limit 15 offset 0

时间: 2024-10-16 21:51:02

postgresql 行转列,拼接字符串的相关文章

行变列 拼接字符串 MSSQL 一个超级搞的问题

由数据 ThreeLevelSortID KeyWordID KeyWordName 2 142 key1 2 142 key2 3 143 key3 3 144 key4 得到数据大 ThreeLevelSortID KeyWordName 2 key1,key2 3 key3,key4 declare @tblTmp table (id int,ThreeLevelSortID int,KeyWordName nvarchar(max)) declare @tblTmpCount int i

SQl 分组后按照某一列拼接字符串

/* 分组之后拼接字符串 */ ;with t as( SELECT WorkflowId,Remark FROM dbo.OperatorAutomationProcess GROUP BY WorkflowId,Remark ) , H AS( SELECT WorkflowId, -- 分组的主键 STUFF( ( SELECT '_'+ Remark -- 要拼接的列 FROM t a WHERE b.WorkflowId = a.WorkflowId FOR XML PATH('')

postgresql 行转列后加入到一个整体数据

这里行转列的基本思想就是使用max,因为其他列下面都是NULL,所以可以Max最后就只能得到有值的这行 普通的查询: SELECT icd , case when (ROW_NUMBER() OVER(PARTITION BY INNER_CD ORDER BY SLIDE_SEQ )) =1 then SLIDE_QTY END as SLIDE_QTY1, case when (ROW_NUMBER() OVER(PARTITION BY INNER_CD ORDER BY SLIDE_SE

PostgreSQL 9.3 格式化拼接字符串

2013-05-06 08:39:20|  分类: PgSQL Develop|举报|字号 订阅 PostgreSQL 9.3 引入的一个格式化输出函数, 有点类似C的sprintf用法. 语法如下 : format(formatstr text [, formatarg "any" [, ...] ]) 其中formatstr是需要格式化的字符串, 包含普通字符以及格式字符. 后面的动态参数用来替换formatstr中的格式字符. 格式字符的语法如下 : %[position][fl

Mysql数据处理/行转列/列转行/分割/拼接/数据复制汇总

mysql数据处理记录(使用的 Workbench) 生成随机数 逗号或分号拼接的字符串分割成多行 多行数据转化成用逗号拼接的字符串 将A表的数据添加到B表 一.生成随机数 生成18位:(19位就加颗0 / 17位就减0) SELECT FLOOR(+ RAND() * 10000000000000000000) 二.将字符串分割(行转列) select a.ID,substring_index(substring_index(a.B,',',b.help_topic_id+1),',',-1)

每行加逗号,拼接字符串

=SUBSTITUTE("'"&A1,"'",",") EXCEL公式 Notpad++操作指南, 1.移除空行. 查找目标:\r\n\r\n 替换为:\r\n 或者TextFX > TextFX Edit > Delete Blank Lines 2.首行缩进. 查找目标:\r\n 替换为:\r\n {四个半角空格} 3.插入空行. 查找目标:\r\n 替换为:\r\n\r\n 4. 去除换行 查找目标:\r\n 替换为:

解决CsvWriter:中文乱码、末尾行多一行空格(/r)、非第一列空字符串""显示null问题

一:主要内容 解决CsvWriter存csv,csv文件打开后中文乱码问题 解决CsvWriter存csv,csv文件最后一行总是多一行空行的问题 解决CsvWriter存csv,csv文件不是第一列的时候,想存入""即空字符串无法存入显示null的问题 二:解决问题前:需要做的事情 因为网上的CsvWrite的jar包导入到我们的工程中是class文件,针对上面的问题是无法修改源码的,但是我们又想用这个工具来操作csv,所以可以在自己的工程中首先pom引用这个jar包 <dep

在论坛中出现的比较难的sql问题:1(字符串分拆+行转列问题 SQL遍历截取字符串)

原文:在论坛中出现的比较难的sql问题:1(字符串分拆+行转列问题 SQL遍历截取字符串) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 求SQL遍历截取字符串 http://bbs.csdn.net/topics/390648078 从数据库中读取某一张表(数据若干),然后将某一字段进行截取.比如:字段A    字段Ba/a/c      xa/b

通过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