oracle sql WM_CONCAT函数

图片说明
我想给WM_CONCAT(Z.ORIGIN) as 用地指标来源一个查询条件
图片说明

写法应该是怎么样的各位大佬

这是我的sql

 SELECT 
  T.IID,
  T.PROJ_NAME,
  WM_CONCAT(Z.ORIGIN) as 用地指标来源
FROM 
   UT_SP_PROJ_BUILD T,
   OT_BATCHAPPLY O, 
   UT_SP_ZBLY Z
WHERE 
   T.PROJ_NAME = O.NAME(+)
   AND O.ID = Z.BATCH_ID(+)
GROUP
  BY T.IID,
  T.PROJ_NAME

2个回答

SELECT
T.IID,
T.PROJ_NAME,
WM_CONCAT(Z.ORIGIN) as 用地指标来源
FROM
UT_SP_PROJ_BUILD T,
OT_BATCHAPPLY O,
UT_SP_ZBLY Z
WHERE
T.PROJ_NAME = O.NAME(+)
AND O.ID = Z.BATCH_ID(+)
GROUP
BY T.IID,
T.PROJ_NAME
HAVING WM_CONCAT(Z.ORIGIN) like '%天府新区%';

这个应该可以,求给分,有急用~~

你写发没错,但是看你上边报错的截图,只是语法错了, where里面的第三个条件写错了。

qq_38081404
IT界98新星 我知道那个有问题嘛 就是想知道我想要加这样一个查询条件应该怎么写
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Oracle wm_concat()函数 及排序
今天在项目中修改了一个sql  select t.dmid bmid,wm_concat(m.xm) fgld from gg_user m,gg_dmnr_qx t where m.id = t.czyid group by dmid   这个函数也够把符合条件的几条数据的某一列 合并成一条数据中的某一列 比如上面这个sql  就是把gg_dmnr_qx 表里的数据根据dmid 分组 ...
oracle的wm_concat函数和排序
oracle中,wm_concat函数是一个聚合函数,和mysql中的group_concat函数类似。 通过wm_concat函数可以实现行转列 NO CLASS SCORE 1001 1 99 1002 2 98 1001 3 97 1004 1 98 1005 1 97 1006 1 99 1007 2 98 1008 3 97
oracle 创建wm_concat函数
wm_concat函数在oracle 10G以下版本是没有的,这个就需要我们自己来创建,有需要的就下载下来,直接运行就行了,如果在运行中出中,请分开运行,不要一次性运行哟
oracle没有WM_CONCAT函数问题
1.函数wm_concat(列名),该函数可以把列值以”,”号分隔起来,并显示成一行。 2.oracle没有WM_CONCAT函数问题用oracle自带脚本重建wmsys.wm_concat函数 $ sqlplus / as sysdba SQL> @$ORACLE_HOME/rdbms/admin/owmctab.plb 略… SQL> @$ORACLE_HOME/rdbm...
oracle 多行合一 wm_concat 函数
wmsys.wm_concat函数,它的作用是以','链接字符  (版本10G以上) 例子如下: 创建表: create table idtable (id number,name varchar2(30)); 准备数据: (共六条) insert into idtable values(10,'ab'); insert into idtable values(10,'b
oracle合并列函数wm_concat
select dept.dname,wm_concat(emp.ename) from dept,emp where dept.deptno=emp.deptno group by dept.dname
Oracle没有WM_CONCAT函数的解决办法
Oracle没有WM_CONCAT函数的解决办法 WM_CONCAT是oracle的非公开函数,并不鼓励使用,新版本oracle并没有带此函数,需要手工加上。 1、下载三个文件:owmctab.plb 、 owmaggrs.plb 、 owmaggrb.plb 2、用sqlplus登录:sqlplus -logon sys/123 as sysdba 3、执行@C:\Users\JOYTRAVE...
oracle wm_concat函数合并字段
select replace (wm_concat(a),',','') from  (select ename a from emp where sal>2500 union all select ename a from emp where job='MANAGER');
oracle 9i 实现wm_concat函数
oracle 9i 实现wm_concat函数 进行一列多行合并,之间使用,分割
oracle的WM_concat
oracle的WM_concat和translate的用法
wm_concat函数
我用wm_concat函数报错rn[img=https://img-bbs.csdn.net/upload/201309/29/1380433457_680078.jpg][/img]rn求解决方法啊 急用啊
Oracle wm_concat函数 转换成MySQL的函数
Oracle wm_concat函数 转换成MySQL的函数 (勿喷,只为自己以后复习) 之前在一个项目中用Oracle数据库,其中有段sql是这样的: select wm_concat('"' || d.name || '":"' || d.code || '"') as resvalue, d.type_code from parm_data d left j...
oracle over函数, wm_concat()字符串连接函数使用
OVER (        [ ]        [ ]        [ ]       )      在应用关联的开窗函数前确定行集的分区和排序。 也就是说,OVER 子句定义查询结果集内的窗口或用户指定的行集。 然后,开窗函数将计算窗口中每一行的值。 您可以将 OVER 子句与函数一起使用,以便计算各种聚合值,例如移动平均值、累积聚合、运行总计或每组结果的
Oracle XE如何添加wm_concat函数
搜了一下,网上给出的是下面的答案。rn[code=css]CREATE OR REPLACE TYPE wm_concat_implrn AUTHID CURRENT_USERrnAS OBJECT (rn curr_str VARCHAR2 (32767),rn STATIC FUNCTION odciaggregateinitialize (sctx IN OUT wm_concat_impl)rn RETURN NUMBER,rn MEMBER FUNCTION odciaggregateiterate (rn SELF IN OUT wm_concat_impl,rn p1 IN VARCHAR2rn )rn RETURN NUMBER,rn MEMBER FUNCTION odciaggregateterminate (rn SELF IN wm_concat_impl,rn returnvalue OUT VARCHAR2,rn flags IN NUMBERrn )rn RETURN NUMBER,rn MEMBER FUNCTION odciaggregatemerge (rn SELF IN OUT wm_concat_impl,rn sctx2 IN wm_concat_implrn )rn RETURN NUMBERrn);rn/rn rnCREATE OR REPLACE TYPE BODY wm_concat_implrnISrn STATIC FUNCTION odciaggregateinitialize (sctx IN OUT wm_concat_impl)rn RETURN NUMBERrn ISrn BEGINrn sctx := wm_concat_impl (NULL);rn RETURN odciconst.success;rn END;rn MEMBER FUNCTION odciaggregateiterate (rn SELF IN OUT wm_concat_impl,rn p1 IN VARCHAR2rn )rn RETURN NUMBERrn ISrn BEGINrn IF (curr_str IS NOT NULL)rn THENrn curr_str := curr_str || ',' || p1;rn ELSErn curr_str := p1;rn END IF;rn rn RETURN odciconst.success;rn END;rn MEMBER FUNCTION odciaggregateterminate (rn SELF IN wm_concat_impl,rn returnvalue OUT VARCHAR2,rn flags IN NUMBERrn )rn RETURN NUMBERrn ISrn BEGINrn returnvalue := curr_str;rn RETURN odciconst.success;rn END;rn MEMBER FUNCTION odciaggregatemerge (rn SELF IN OUT wm_concat_impl,rn sctx2 IN wm_concat_implrn )rn RETURN NUMBERrn ISrn BEGINrn IF (sctx2.curr_str IS NOT NULL)rn THENrn SELF.curr_str := SELF.curr_str || ',' || sctx2.curr_str;rn END IF;rn rn RETURN odciconst.success;rn END;rnEND;rn/rn rnCREATE OR REPLACE FUNCTION wm_concat (p1 VARCHAR2)rn RETURN VARCHAR2rn AGGREGATE USING wm_concat_impl;rn/[/code]rn但是我放到navicat里运行报错了啊,请问上述代码该如何执行?
oracle合并列的函数wm_concat的使用详解
oracle wm_concat(column)函数实现字段合并 例: 表 create table pm_ci (ci_id varchar(20) primary key, stu_ids varchar(100)); insert into pm_ci values('1','1,2,3,4'); insert into pm_ci values('2','1,4');
oracle整理之 wm_concat(column)函数的使用
Oracle数据中,使用wm_concat(column)函数,可以进行所选字段数据值的合并; 一、对单个字段值合并 例如:  sql:select t.id,t.name,t.price,t.count,t.uid from goods t; 各字段分别是:id,名称,价格,数量,购买者Id 查询购买者所购买的各种商品 sql:select t.uid,wm_concat(t.n...
关于Oracle中instr和wm_concat函数的使用
先建立两张表 instr是字符查找函数,如果找到会返回第一次出现的位置,我们可以用作模糊查询,例如: select * from table2 where instr(table1Id, '1') > 0 结果为: 可以看到查询出来的是table1Id列包括1的字符串。 我们可以通过table2中的table1Id去查找table1的名字,例如我们查询table2中i...
(转)oracle wm_concat(column)函数的使用
oracle wm_concat(column)函数的使用 oracle wm_concat(column)函数的使用 2010-10-25 12:17 佚名 互联网 我要评论(2) 字号:T | T oracle数据库中,使用wm_concat(column)函数,可以进行字段合并,下文对该功能的实现方法作了详细的介绍,供您参考学习。 AD:2013大数据全球技术...
Oracle wm_concat函数用于行列转行
首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行,接下来上例子,看看这个神奇的函数如何应用 准备测试数据   SQL> create table test(id number,name varchar2(20)); SQL> insert into test values(1,'a'); SQL> insert ...
Oracle的行转列的函数wm_concat的db2实现
Oracle的行转列的函数wm_concat的db2实现
wm_concat函数用法
在日常的数据查询过程中,经常遇到一条信息分多条记录存储,并以同一个ID关联的情况,比如常见的房产证权利人信息,因为共有权人可能有很多,不可能把所有的权利人都放到权利人表的权利人字段,把所有权利人的证件号都放到权利人证件号字段,所以在数据库设计时候,会采用一个权利人一条记录,并以权利ID关联的方式存放。 但是在数据查询时候,有时候又希望将所有权利人信息一起展示,这里可能就会用到Oracle的wm_
Oracle数据库WM_CONCAT函数问题
项目中原有的sql语句使用了WM_CONCAT函数,这个函数在oracle12c的版本里不识别,要更换成 listagg(..) within group(..)的函数 select listagg(t.name,',') within group (order by t.id) from table_name t; 为什么oracle 12c 无法使用WM_CONCAT? ...
Oracle 函数 wm_concat 将列转行 用法 实例
这篇文章主要记录下我工作中遇到sql语句查询的问题,工作中有个需求是做问卷调查,然后统计导出数据,其中有个问题是多选题,存的是答案表对应的答案的id(以逗号分隔),然后查询的时候怎么样才能把这个问题的答案也查出来拼接成逗号分隔,就用到了 WM_CONCAT 函数,下面就说一下具体用法。       1. 首先看一下我的表结构,总共 有三张表 ,qv_question 记录了问题,qv_ans
oracle 合并函数wm_concat(column)和分割函数
----------------------------------------- u_id       goods            num ------------------------------------------ 1                苹果                2 2                 梨子               5 1
Oracle列转行函数wm_concat版本不兼容解决方案
业务场景 本博客记录一下Oracle列转行函数在Oracle11的一些不兼容问题,vm_concat在一些业务场景是必须的。不过这个函数使用要谨慎,底层实现应该也是group by等等实现的,性能并不是特别好。这个函数在Oracle12是没有的,在Oracle11是不太兼容的,Oracle10可以正常使用。最近遇到这个问题,网上博客很多都写到了自定义列转行函数的办法去解决。但是这种办法并不一定适用...
Oracle中的wm_concat和in两函数的联合使用
Oracle中的wm_concat和in两函数的联合使用 (1)wm_concat 此函数主要是实现字段合并。 如: select to_char(wm_concat(id)) from NcsStepConveySetting where id in (237481727,237521783) 效果如下: 其中: (2)in 语法: SELECT columns ...
【函数】wm_concat包的订制
【函数】wm_concat包的订制 1BLOG文档结构图 2前言部分 ...
oracle wm_concat超长
各位,wm_concat超长了,好像只能容纳4000个,怎么办呢,这里一般情况下都会超过这个长度,求大神给解啊rnrn
行转列函数wm_concat
wm_concat是10G提供的行转列函数 比如 select warehouse_id as wid from table  and rownum <= 6 1               200020 2               200020 3               200020 4               200020 5               ...
Oracle12c创建wm_concat函数
11gr2和12C上已经摒弃了wm_concat函数,当时我们很多程序员在程序中使用了该函数,导致程序出现错误,为了减轻程序员修改程序的工作量,只有通过手工创建个wm_concat函数,来临时解决该问题
wm_concat函数使用问题
[img=https://img-bbs.csdn.net/upload/201410/14/1413296396_579978.jpg][/img]rn用了这个函数之后 就开始莫名其妙的报这个错误,啥也不干,过一阵这个错误又没了 啥情况,有人知道么
wm_concat函数的排序问题
准备数据: create table test( n varchar2(20), m varchar(20)  );   insert into test values ('0',  '1');  insert into test values ('1',  '1');  insert into test values ('10', '1');  insert into test values ...
改写的wm_concat函数运行效率问题
之前因为遇到过超长字符串拼接的问题,也在本版问过。后来经过大家的帮助,找到一个改写wm_concat的办法,使其支持返回clob类型。rnrn 虽然功能上是可以的,但是在实际运行中,发现效率要比wm_concat函数慢的根本不在同一个等级上,wm_concat处理大约7万条数据的拼接仅需要3秒,而改写的函数需要可能1个小时。rnrn 这里,有没有oracle达人能够帮忙看一下,下一步还可以怎么优化呢?或者有什么其他办法,实现这种超长的字符串拼接问题。rnrnrn附上我改写的代码(zh_concat基本上就是参照网上wm_concat的源代码做了少量更改):rn==============================================================================================================rnCREATE OR REPLACE TYPE zh_concat_im AUTHID CURRENT_USER AS OBJECTrn(rn CURR_STR clob,rn STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT zh_concat_im)rn RETURN NUMBER,rn MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT zh_concat_im,rn P1 IN varchar2) RETURN NUMBER,rn MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN zh_concat_im,rn RETURNVALUE OUT clob,rn FLAGS IN NUMBER)rn RETURN NUMBER,rn MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT zh_concat_im,rn SCTX2 IN zh_concat_im) RETURN NUMBERrn)rnrnrnrnCREATE OR REPLACE TYPE BODY zh_concat_im ISrn STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT zh_concat_im)rn RETURN NUMBER ISrn BEGINrn SCTX := zh_concat_im(NULL);rn RETURN ODCICONST.SUCCESS;rn END;rn MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT zh_concat_im,rn rn P1 IN VARCHAR2) RETURN NUMBER ISrn BEGINrn IF (CURR_STR IS NOT NULL) THENrn CURR_STR := CURR_STR || ';' || P1;rn ELSErn CURR_STR := P1;rn END IF;rn RETURN ODCICONST.SUCCESS;rn END;rn MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN zh_concat_im,rn RETURNVALUE OUT clob,rn FLAGS IN NUMBER) RETURN NUMBER ISrn BEGINrn RETURNVALUE := CURR_STR;rn RETURN ODCICONST.SUCCESS;rn END;rn MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT zh_concat_im,rn SCTX2 IN zh_concat_im) RETURN NUMBER ISrn BEGINrn IF (SCTX2.CURR_STR IS NOT NULL) THENrn SELF.CURR_STR := SELF.CURR_STR || ';' || SCTX2.CURR_STR;rn END IF;rn RETURN ODCICONST.SUCCESS;rn END;rnEND;rnrnCREATE OR REPLACE FUNCTION zh_concat(P1 VARCHAR2) RETURN clobrn AGGREGATE USING zh_concat_im;rnrn==============================================================================================================
Oracle9i添加 wm_concat函数(转)
一: 创建type头 create or replace type string_sum_obj as object ( --聚合函数的实质就是一个对象 sum_string varchar2(4000), static function ODCIAggregateInitialize(v_self in out string_sum_obj) retu...
在Oracle12C数据库创建wm_concat函数
当我们的程序需要连接12C数据库时,原本使用wm_concat函数的地方会出现报错,这是由于12C已经摒弃了wm_concat这个函数,可以采取的办法有使用listagg函数代替wm_concat函数,但是程序中所有涉及wm_concat函数的地方都得改成listagg函数的写法,所以为了减小修改程序的工作量,可以通过手工创建wm_concat函数来解决这个问题。 一、用sys用户以SYSDBA...
关于wm_concat函数的奇怪问题
一个查询语句我这样写的: wm_concat(distinct 字段)rn这个语句直接执行是好用的,但是放到存储过程中,CURSOR CUR_MAIN IS 这样的写法中,rn就会报ORA-30482: DISTINCT option not allowed for this function的错误,编译不通过rnrn这事为什么呢rn
OracleXE中没有WM_CONCAT函数
包含owmctab.plb 、 owmaggrs.plb 、 owmaggrb.plb 三个文件,可解决OracleXE中没有WM_CONCAT函数的问题;解决方案如下:1、下载三个文件:owmctab.plb 、 owmaggrs.plb 、 owmaggrb.plb 2、用sqlplus登录:sqlplus -logon sys/123 as sysdba 3、执行@C:\Users\JOYTRAVEL\Desktop\WMSYS用户\owmaggrb.plb; 如果执行结果报错,说找不到WMSYS用户,那么执行 @C:\Users\JOYTRAVEL\Desktop\WMSYS用户\owmctab.plb; 再执行owmaggrb和owmaggrs
oracle wm_concat 字符串缓冲区太小
数据少的时候wm_concat(字段名)可以正常拼接出字符串,数据多的时候就会报错(如图片所示) 原sql语句是: select t2.districtname, t.diagnosis_name, t3.cn, t3.names   from T_DISEASE_DIAGNOSIS t  inner join t_sys_district t2     on t.district_id
wm_concat 函数在PG中替代
WM_CONCAT 经常使用到行转列上,早期的代码里这个函数用的会比较多,但是可惜在12c中,这个函数已经过期了: WM_CONCAT is gone in 12c. Use LISTAGG instead https://asktom.oracle.com/pls/apex/f?p=100:11:::NO:RP:P11_QUESTION_ID:9529613900346315...
wm_concat函数及函数的嵌套
通过5个面试题的讲解,教会大家等值关联,分组查询,行转列,列转行,日期转换、自定义函数,执行计划分析,组内排序,函数的嵌套使用
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件