我正在努力在一个表中命名列,使用包含这些名称的引用表。我相信这应该是可能的,但我似乎无法找到正确的解决方案或想到正确的逻辑来实现它...
情况:我有两个表,一个表中有数据,列有描述性的名称,另一个表中有将这些列名转换为有意义的名称(引用表或“代码本”)。
我正在寻找一种方法来返回第一个表的数据,并在第二个表的第二列中给出列名。
表看起来像:
dataTable:
q1,q2,q3
1,2,3
4,5,6
和
translationTable:
descName, meanName
q1, meaning1
q2, meaning2
q3, meaning3
结果应为:
meaning1,meaning2,meaning3
1,2,3
4,5,6
帮助将不胜感激!
1条答案
按热度按时间nhaq1z211#
你不能直接这样做,因为你需要一个查询,其列是可变的,基于一些值。略有不同,你可以做的是构建一个动态SQL,让Oracle创建你的查询:
设置:
这将创建并打印您的查询:
如果复制语句并运行它:
这样您就有了查询,但不能获取它,因为它仍然有可变列。
您可以轻松地编辑此代码,使其构建一个返回字符串的查询,该字符串由连接的字段组成;这样,您将始终拥有一个字段,但它与您要求的字段不同: