楼主: jiangyt

[精华] sql求解

[复制链接]
论坛徽章:
0
11#
发表于 2004-5-22 13:25 | 只看该作者
如果想代码好看点,那就使用recordtable变量吧

使用道具 举报

回复
论坛徽章:
4
ITPUB8周年纪念徽章
日期:2009-09-27 10:21:22ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
12#
发表于 2004-7-29 22:04 | 只看该作者
顶一下

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
13#
发表于 2004-10-17 18:00 | 只看该作者
(cast(multiset(select name from t where t.id = t0.id) as strings_table))有人能解释这句的意思吗

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2007-04-04 09:57:082010新春纪念徽章
日期:2010-03-01 11:19:07
14#
发表于 2005-1-17 11:17 | 只看该作者
没有这么麻烦把
select distinct id,decode(id,1,'ab',2,'xyz') from t

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
38
ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14现任管理团队成员
日期:2012-10-18 17:11:21版主4段
日期:2012-05-15 15:24:112012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23
15#
发表于 2005-1-17 14:22 | 只看该作者
最初由 xukely 发布
[B]没有这么麻烦把
select distinct id,decode(id,1,'ab',2,'xyz') from t [/B]


呵呵,老兄,实在不忍心泼你冷水!
如果不止这五条记录呢?为1时不止ab这两个值呢?记录被更新了呢?

大家的plsql都写的满好的,不知有谁能用一条sql实现呢?比如用oracle的分析函数来处理这个情况?

使用道具 举报

回复
论坛徽章:
0
16#
发表于 2005-1-17 15:27 | 只看该作者
select distinct 1.a1,1.a2||2.a2
from a1 1,a2 2
where 1.a1=2.a1
and  1.a2<>2.a2

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
38
ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14现任管理团队成员
日期:2012-10-18 17:11:21版主4段
日期:2012-05-15 15:24:112012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23
17#
发表于 2005-1-17 15:40 | 只看该作者
楼上的sql,不对。

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
18#
发表于 2005-1-17 16:31 | 只看该作者
[php]select A1,
max(decode(seq,1,APP,null))||
max(decode(seq,2,APP,null))||
max(decode(seq,3,APP,null))||
max(decode(seq,4,APP,null))||
max(decode(seq,5,APP,null))||
max(decode(seq,6,APP,null))||
max(decode(seq,7,APP,null))||
max(decode(seq,8,APP,null))||
max(decode(seq,9,APP,null))||
max(decode(seq,10,APP,null)) AS A2
FROM
(
select a1, a2 APP,row_number() OVER (PARTITION BY A1 ORDER BY A2) SEQ  from tt

)
GROUP BY A1
[/php]

使用道具 举报

回复
论坛徽章:
0
19#
发表于 2005-1-17 17:12 | 只看该作者
真的有那么的麻烦吗??

使用道具 举报

回复
论坛徽章:
7
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:兔
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
20#
发表于 2005-1-17 20:34 | 只看该作者
faint,现在问题是
1 a
1 b
2 x
2 y
2 z
这是一张表,那么自然可以INSERT 记录,我又增加如下:
54   ab
54   cd
54   ef
10002  %$
10002  54
10002  sdf
请问怎么用decode解决。
如果我再多增加几条呢??
作为程序员,需要脑子多动一点。

使用道具 举报

回复

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

本版积分规则 发表回复

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