【发布时间】:2021-12-02 13:19:24
【问题描述】:
我正在尝试编写一个 PLSQL 查询,它将在两个单独的列中打印随机整数。 它将总共打印 1000 个数字(每行随机 1 - 50)。 我需要弄清楚的是,完成此操作后,如果第二列与第一列匹配,则将第二列替换为“是”或“否” 如:
Col A Col B
10 NO(42)
32 NO(12)
25 YES(25)
等等。 这是我的代码:
CREATE TABLE table
(random_num INTEGER NOT NULL,
match INTEGER NOT NULL);
Declare
CURSOR cur_ IS
(Select
random_num,
match
from table);
Begin
FOR rec_ IN 1..1000
LOOP
INSERT INTO "table" (random_num,match) VALUES (DBMS_RANDOM.VALUE(1,50),DBMS_RANDOM.VALUE(1,50));
END LOOP;
END;
现在这可以工作,因为我得到每列的两个 1000 行的随机数,但我需要实现这个选择:
SELECT random_num, CASE WHEN random_num = match THEN 'yes' ELSE 'no' END as match
FROM table
这样进入循环。有谁知道我该怎么做?
【问题讨论】: