123
返回列表 发新帖
楼主: xallan

如何写这个sql语句?

[复制链接]
论坛徽章:
0
21#
发表于 2005-1-27 17:37 | 只看该作者
用函数就失去使用一个sql本意那

使用道具 举报

回复
招聘 : 产品经理/专员
论坛徽章:
67
管理团队2006纪念徽章
日期:2006-04-16 22:44:452012新春纪念徽章
日期:2012-01-04 11:50:442012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25版主1段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24夏利
日期:2013-10-10 13:12:33
22#
发表于 2005-1-28 12:24 | 只看该作者
select a.deptno,a.dname || ';',  ||b.emploees from emp  b join dept  a on
a.deptno=b.deptno 你看这个内连接,能实现你的功能吗??
SQL> select a.deptno,a.dname || ';' ||b.job employees from emp b,dept a
  2  where a.deptno=b.deptno;

    DEPTNO EMPLOYEES
---------- ----------------------------------------
        20 RESEARCH;CLERK
        30 SALES;SALESMAN
        30 SALES;SALESMAN
        20 RESEARCH;MANAGER
        30 SALES;SALESMAN
        30 SALES;MANAGER
        10 ACCOUNTING;MANAGER
        20 RESEARCH;ANALYST
        10 ACCOUNTING;PRESIDENT
        30 SALES;SALESMAN
        20 RESEARCH;CLERK

    DEPTNO EMPLOYEES
---------- ----------------------------------------
        30 SALES;CLERK
        20 RESEARCH;ANALYST
        10 ACCOUNTING;CLERK
        10 ACCOUNTING;数据库员
        50 production;DBA

已选择16行。

使用道具 举报

回复
论坛徽章:
17
授权会员
日期:2008-08-18 15:32:56阿斯顿马丁
日期:2013-07-29 18:48:42蛋疼蛋
日期:2013-05-21 11:22:192012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41SQL大赛参与纪念
日期:2011-04-13 12:08:172011新春纪念徽章
日期:2011-03-21 14:26:302011新春纪念徽章
日期:2011-02-18 11:42:47ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522010年世界杯参赛球队:塞尔维亚
日期:2010-01-07 09:54:43
23#
发表于 2005-1-28 12:59 | 只看该作者
关注,

使用道具 举报

回复
论坛徽章:
12
生肖徽章:鼠
日期:2007-03-01 11:01:36生肖徽章:狗
日期:2007-03-01 11:05:23生肖徽章:鸡
日期:2007-03-01 11:05:06生肖徽章:猴
日期:2007-03-01 11:04:52生肖徽章:羊
日期:2007-03-01 11:04:38生肖徽章:马
日期:2007-03-01 11:03:29生肖徽章:蛇
日期:2007-03-01 11:03:10生肖徽章:龙
日期:2007-03-01 11:02:55生肖徽章:兔
日期:2007-03-01 11:02:29生肖徽章:虎
日期:2007-03-01 11:02:13
24#
发表于 2005-5-10 14:37 | 只看该作者

这样的sql才叫牛

收藏研究

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
25#
发表于 2005-5-10 15:01 | 只看该作者
pfpf!

使用道具 举报

回复
论坛徽章:
3
数据库板块每日发贴之星
日期:2006-02-18 01:02:33会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
26#
发表于 2005-12-22 21:33 | 只看该作者

SYS_CONNECT_BY_PATH

SQL> create table t(col1 varchar2(10),col2 varchar2(10));

表已创建。

SQL>
SQL> insert into t values('001','vl1');

已创建 1 行。

SQL> insert into t values('001','vl2');

已创建 1 行。

SQL> insert into t values('001','vl3');

已创建 1 行。

SQL> insert into t values('002','vl1');

已创建 1 行。

SQL> insert into t values('002','vl2');

已创建 1 行。

SQL> insert into t values('002','vl3');

已创建 1 行。

SQL> insert into t values('002','vl4');

已创建 1 行。

SQL> COMMIT;

提交完成。

SQL> select * from t;

COL1       COL2
---------- ----------
001        vl1
001        vl2
001        vl3
002        vl1
002        vl2
002        vl3
002        vl4

已选择7行。

SQL> COL COL2 FORMAT A20

SQL>  SELECT COL1,LTRIM(MAX(SYS_CONNECT_BY_PATH(COL2,',')),',') COL2
  2   FROM
  3   (
  4   SELECT COL1,COL2,MIN(COL2) OVER(PARTITION BY COL1) COL2_MIN,
  5  (ROW_NUMBER() OVER(ORDER BY COL1,COL2))+(DENSE_RANK() OVER (ORDER BY COL1)) NUMID
  6   FROM T
  7   )
  8   START WITH COL2=COL2_MIN CONNECT BY NUMID-1=PRIOR NUMID
  9   GROUP BY COL1;

COL1       COL2
---------- --------------------
001        vl1,vl2,vl3
002        vl1,vl2,vl3,vl4

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表