高分求教一条sql,相信你一定会

fool_chen 2003-10-16 01:01:48
select a.*, b.*
from
( select name1 from tableA ) a,
( select name2 from tableB ) b

这是一个简化的例子,a的结果和b的结果没有关系,只想简单的组合成一个结果集,
现在的问题是,如果b中没有结果的话,最后就没有结果。
应该要做一个外连接,但是不知道怎么做。
求教
...全文
30 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-10-16
  • 打赏
  • 举报
回复
select name1 from tableA
union all
select name2 from tableB
beckhambobo 2003-10-16
  • 打赏
  • 举报
回复
select max(decode(rm,rownum,name1)) name1,max(decode(rm,rownum,name2)) from
(select name1,null name2,rownum rm from tablea
union all
select null,name2,rownum rm from tableb)
group by rm
bzszp 2003-10-16
  • 打赏
  • 举报
回复
verybigmouthz 2003-10-16
  • 打赏
  • 举报
回复
bzszp(SongZip)
你给的答案是有前提条件的,必须表tableAr 中的记录数多于tableB中方可

这个问题在上面给出的帖子里面有详细的解答
yfjyz 2003-10-16
  • 打赏
  • 举报
回复
select * from tableA
union all
select * from tableB;
verybigmouthz 2003-10-16
  • 打赏
  • 举报
回复
我建议你看看下面的帖子,我想应该差不多吧
http://expert.csdn.net/Expert/TopicView1.asp?id=2291442
bzszp 2003-10-16
  • 打赏
  • 举报
回复
select a.name1,b.name2
from
( select rownum id1,name1 from tableA ) a,
( select rownum id2,name2 from tableB ) b
where a.id1=b.id2(+);
mosaic 2003-10-16
  • 打赏
  • 举报
回复
既然 “a的结果和b的结果没有关系,只想简单的组合成一个结果集”,
那用union all是否可以满足你的要求呢?
hero1840 2003-10-16
  • 打赏
  • 举报
回复
建议你还是在工作中学习

17,081

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧