我搜索并查看了一些关于创建临时表和列的问题但没有运气,因为它们与我的问题无关。我搜索并更改了我的查询数小时,遗憾的是没有取得任何进展。我目前有四张桌子,我正在加入。
在其中一个表中,有一列,并且该列中的值可以是以下任何值,例如“A,B,C,D,E”,它们代表问题的答案。例如,如果该人回答“A”,则存在与该值匹配的描述。我遇到的问题是描述不在表格或数据库中,因此我无法选择列并显示与每个答案相关的描述。同事告诉我,我需要将其硬编码到查询中。可能使用CASE语句或REPLACE?查询看起来像这样吗?
DECLARE
--variables--
CURSOR C1 IS
SELECT
FROM
WHERE
BEGIN
--would this be where the REPLACE GOES?--
OPEN
LOOP
FETCH
INTO
--variables--
EXIT WHEN C1%NOTFOUND%
DBMS_OUTPUT.PUT_LINE()
END;
/
EXIT
请原谅我的问题,如果有点令人费解。我是这个网站和Oracle PL / SQL的新手,所以任何关于如何构建这个的建议都将非常感激。
答案 0 :(得分:0)
由于您没有提供测试用例,因此很难确定您正在寻找什么。但是,我的猜测是,您需要case
语句作为游标定义的一部分。
SELECT <<other columns>>,
(CASE question_table.question
WHEN 'A' then 'Loves to game but only plays weekends'
WHEN 'B' then <<something else>>
WHEN 'C' ...
ELSE 'Translation Unknown'
END) as new_column_name
FROM <<your tables>>
WHERE <<your predicates>>