oracle查询 一张表的每行数据是另一个表的列名
2个回答
展开全部
这个问题需要用到动态SQL,先取出A表里的列名,加工成SQL语句,再执行
mysql="select "
tt = 0
do while
get name
if tt = 0 then
mysql = mysql + name
tt ++
else
mysql = mysql + "," + name
end if
end while
mysql = mysql + " from t_b where .....
execute immediate :mysql
大概就是这个意思吧
具体语句根据您的编译环境来选择
不希望能帮助到您
mysql="select "
tt = 0
do while
get name
if tt = 0 then
mysql = mysql + name
tt ++
else
mysql = mysql + "," + name
end if
end while
mysql = mysql + " from t_b where .....
execute immediate :mysql
大概就是这个意思吧
具体语句根据您的编译环境来选择
不希望能帮助到您
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select A.name, A.def, t.colvalue from A inner join
(select colname,colvalue from B unpivot(colvalue for colname in ("CA","CB","CC","CD")))t
on t.colname=A.name
(select colname,colvalue from B unpivot(colvalue for colname in ("CA","CB","CC","CD")))t
on t.colname=A.name
追问
oracle 9i 执行进提示 缺少右括号
追答
9i 不支持 unpivot 语法
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询