脚本/很多需要的帮助

时间:2015-08-06 21:09:39

标签: sql plsql

我搜索并查看了一些关于创建临时表和列的问题但没有运气,因为它们与我的问题无关。我搜索并更改了我的查询数小时,遗憾的是没有取得任何进展。我目前有四张桌子,我正在加入。

在其中一个表中,有一列,并且该列中的值可以是以下任何值,例如“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的新手,所以任何关于如何构建这个的建议都将非常感激。

1 个答案:

答案 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>>