如何解决ORACLE中表一得列名的别名为另一表中的某一字段的值?

我的情况是这样的,我这有一张T_GDZC_ERP的表,表中有ID,ORACLE,ERP三列,两条记录:1,资产分类,FILE1;2,技术讲解,FILE2,3;还有一张T_... 我的情况是这样的,我这有一张T_GDZC_ERP的表,表中有ID,ORACLE,ERP三列,两条记录:1,资产分类,FILE1;2,技术讲解,FILE2,3;还有一张T_GDZC_JBB,表中的列名为FILE1,FILE2,FILE3,记录为,AA,BB,CC;DD,FF,MM,我现在要把表T_GDZC_JBB的列头FILE1,FILE2,FILE3别名为T_GDZC_ERP表中ORACLE的值对应上 展开
 我来答
牛角山麦子
2011-10-28 · TA获得超过1554个赞
知道小有建树答主
回答量:651
采纳率:75%
帮助的人:534万
展开全部
现在的状况是这样是吧,最后的结果你想要什么?

SQL>
select * from T_GDZC_ERP;

ID ORACLE ERP
---------- ---------- ----------
1 zcfl FILE1
2 jsjj FILE2
3 test FILE3

SQL> select * from T_GDZC_JBB;

FILE1 FILE2 FILE3
---------- ---------- ----------
AA BB CC
DD FF MM

我研究了一下,恐怕没办法,虽然可以搜索出列名,但是别名貌似只能是常量
想办法在应用端用java神马的完成这个需求吧
追问
最终我要实现,T_GDZC_ERP中ORACLE中的值有哪些,就到T_GDZC_JBB中查哪些字段,得用一条SQL语句,而且最好列名是对应的汉字,不能是FILE1什么的
追答
还真不是不行,我想想,可以用select先拼出来一条语句,再封成一个包来执行,只能这样了。单纯用sql语句是不行的。

set serveroutput on
declare
sql_str varchar(1000);
cursor id_cur is select ORACLE, ERP from T_GDZC_ERP;/*用光标取ID*/
t_c1 id_cur%rowtype;

begin
open id_cur;/*打开光标执行*/
sql_str:='select ';
loop/*一直执行下去*/

FETCH id_cur INTO t_c1;
sql_str:=sql_str || t_c1.ERP || ' as ' || t_c1.ORACLE ;
exit when id_cur%notfound;/*没有记录时就退出*/
sql_str:=sql_str || ', ';

end loop;
sql_str:=sql_str || ' from T_GDZC_JBB';
/*立即执行生成的SQL语句*/
execute immediate(sql_str);
dbms_output.put_line(sql_str);

close id_cur;/*关闭光标*/
end;
/

这样差不多了,这个plsql还是有问题的,它并不能输出,而应该是返回一个结果集,从pl/sql里面怎么把返回的结果集显示出来,不记得啦,不过网上应该有很多答案的。反正思路是这样的。
juzhishang
2011-10-28 · TA获得超过265个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:84.1万
展开全部
我在你另外提的一个问题中作答了,你可以去看看
http://zhidao.baidu.com/question/335135088.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0951d78
2011-10-28 · TA获得超过1451个赞
知道小有建树答主
回答量:1727
采纳率:0%
帮助的人:1255万
展开全部
怎麼 对应 ?
追问
列名为FILE1,就别名为主资产号,FILE2别名为技术讲解
追答
好像不太好弄,等高手吧
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式