CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

求一SQL语句?谢过了先!

楼主silinzi(刚洗完澡时我很帅)2003-11-03 15:39:08 在 Oracle / 开发 提问

表A  
  id   name  
  ----  
  aa     张三  
  bb     李四  
  cc     王五  
   
  表B(表A的name和表B的name1、name2是关联的)  
  noo     name1     name2  
  1           aa           bb  
  2           bb           cc  
  3           cc           aa  
   
  现在我想得到这样的结果  
  noo       name1     name2  
  1             张三       李四  
  2             李四       王五  
  3             王五       张三  
   
  也就是说我想把人的id号换成人名的方式显示出来  
  这里先谢过了!!! 问题点数:20、回复次数:10Top

1 楼bzszp(SongZip)回复于 2003-11-03 15:49:56 得分 3

select   noo,(select   a.name   from   a   where   a.id=b.name1)   name1,  
  ,(select   a.name   from   a   where   a.id=b.name2)   name2  
  from   b;Top

2 楼lianhg(lianhg)回复于 2003-11-03 15:55:30 得分 2

 
  select   B.noo  
                ,decode(b.name1,a.id,a.name)  
                ,decode(b.name2,a.id,a.name)  
    from   b,a  
  where   b.name1=a.id  
        or   b.name2=a.idTop

3 楼beckhambobo(beckham)回复于 2003-11-03 16:50:10 得分 3

select   noo,(select   name   from   a   where   a.id=b.name1)   name1,(select   name   from   a   where   a.id=b.name2)   name2   from   bTop

4 楼silinzi(刚洗完澡时我很帅)回复于 2003-11-03 17:14:27 得分 0

TO:bzszp(SongZip)   和   beckhambobo(beckham)    
          两位高手,我把你们写的SQL语句执行了一下,出错“ORA-00936:   缺少表达式”  
          我用的是oracle805,是不是版本太低不支持呀  
   
  TO:lianhg(lianhg)  
          这位大侠,你的SQl语句我也试了一下,如果有某条记录name1和name2都有值的话,  
          它会多出一行阿!Top

5 楼weilt(开往春天的地铁)回复于 2003-11-03 17:37:33 得分 5

Select   B.Noo,A1.name   Name1,A2.name   Name2   from   B,A   A1,A   A2  
  where   B.name1=A1.ID(+)  
  and   B.name2=A2.ID(+)Top

6 楼reludson(cwsoft)回复于 2003-11-04 11:37:13 得分 0

select   noo,(select   a1.name   from   a   a1   where   a1.id=b.name1)   name1,  
  ,(select   a2.name   from   a   a2   where   a2.id=b.name2)   name2  
  from   b;Top

7 楼reludson(cwsoft)回复于 2003-11-04 11:38:30 得分 3

噢,我还写错了,应该是:  
  select   noo,(select   a1.name   from   a   a1   where   a1.id=b.name1)   as   name1,  
  ,(select   a2.name   from   a   a2   where   a2.id=b.name2)   as   name2  
  from   b;  
  Top

8 楼dang555()回复于 2003-11-04 15:45:38 得分 2

select   aa.id,bb.name,cc.name   name1   from   b   aa,a   bb,a   cc   where   aa.name1=bb.id   and   aa.name2=cc.idTop

9 楼beckhambobo(beckham)回复于 2003-11-04 18:08:02 得分 0

select   b.noo,b.name   name1,c.name   name2   from   a,b,b   c   where   a.aa(+)=b.name1   and   a.aa(+)=c.name2Top

10 楼chanet(牧师)回复于 2003-11-05 01:41:52 得分 2

SELECT   b.noo,a1.name,a2.name  
  FROM   a   a1,a   a2,b  
  WHERE   (b.name1   =   a1.id)   and   (b.name2=a2.id);  
  Top

相关问题

  • 这样的sql语句怎么写,高手请出手,这里先谢过了
  • 求sql,谢过先
  • 小问题.SQL语句.在线等待,朋友门都来帮我看下。先谢过了。
  • 求SQL语句,先谢
  • sql语句怎么写?在先等待
  • 奇怪问题,sql语句,在先,急
  • 求一SQL语句,急用,谢谢先~
  • 求教SQL语句写法,先谢了!
  • 求一SQL语句 ,先谢了!
  • 求一个sql语句 先谢谢了

关键词

  • 语句
  • noo
  • aa
  • bb
  • 表
  • cc
  • where
  • 王五
  • 李四
  • select

得分解答快速导航

  • 帖主:silinzi
  • bzszp
  • lianhg
  • beckhambobo
  • weilt
  • reludson
  • dang555
  • chanet

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo