oracle 如何给多表查询的结果集起别名 有一个三张表的查询语句,有数据,但加上别名后就报错了

 我来答
hit_lubin
推荐于2017-11-24 · TA获得超过7889个赞
知道大有可为答主
回答量:1554
采纳率:100%
帮助的人:2027万
展开全部
你的a,b,c是你所指的三个别名吧?
是因为你把子查询作为i表,而其中的a.a, b.a,c.a,这三个同属A字段,所以对于i表无法识别,而i.*,这个*要首先翻译i表的所有字段,而这个a就无法来区分了。
您把a.a, b.a, c.a再分别给个别名试试?
更多追问追答
追问
我只是表示有a,b,c三个表的数据,而且是报 找不到from关键字
追答
select rownum rn,i.* from (select a.a as a1,b.a as a2,c.a as a3,b.b as b from table1 a, table2 b, table3 c where a.id=b.id,b.id=c.id order by a.id) i
别名都写清楚,你的逻辑没问题,八成就是别名乱了。
整理一下看看
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jg...7@163.com
2011-05-01 · TA获得超过287个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:193万
展开全部
把语句贴下,我帮你看下。
追问
select rownum rn,i.* from (select a.a,b.a,c.a,b.b from a,b,c where a.id=b.id,b.id=c.id order by a.id) i
追答
为a、b、c三个表分别起表别名 a、b、c 三个表别名,同时需要连接条件a.id=b.id  and b.id=c.id 而不不是逗号相隔,还有一定要注意空格啊,试下下面的语句,有问题再反馈给我。
select rownum rn,i.* from (select a.a,b.a,c.a,b.b from a a,b b,c c where a.id=b.id and b.id=c.id order by a.id) i
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式