Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle SQL-重新排列以前的数据透视表_Sql_Oracle - Fatal编程技术网

Oracle SQL-重新排列以前的数据透视表

Oracle SQL-重新排列以前的数据透视表,sql,oracle,Sql,Oracle,我有这张桌子: +-----------+---------------+------------------+ | ID | Rule 1 | Rule 2 | Rule 3 | +-----------+---------------+------------------+ | ID001 | PASSED | FAILED | PASSED | | ID002 | FAILED | FAILED | FAILED

我有这张桌子:

+-----------+---------------+------------------+
|    ID     |     Rule 1    | Rule 2  | Rule 3 |
+-----------+---------------+------------------+
| ID001     | PASSED        | FAILED  | PASSED |
| ID002     | FAILED        | FAILED  | FAILED |
| ID003     | FAILED        | PASSED  | PASSED |
+-----------+---------------+---------+--------+
我想将它转换为在每个规则下都有失败的ID

预期结果如下:

+-----------+---------+--------+
| Rule 1    | Rule 2  | Rule 3 |
+-----------+---------+--------+
| -         | ID001   | -      |
| ID002     | ID002   | ID002  |
| ID003     | -       | -      |
+-----------+---------+--------+

如何实现这一点?

您可以使用条件语句:

SELECT CASE WHEN Rule1 = 'FAILED' THEN ID END AS Rule1,
       CASE WHEN Rule2 = 'FAILED' THEN ID END AS Rule2,
       CASE WHEN Rule3 = 'FAILED' THEN ID END AS Rule3
  FROM t