如何根据特定字段中的数据向查询添加行

时间:2014-08-05 10:32:54

标签: sql oracle

最简单的方法我可以用一个例子来解释这个

这是我的查询当前返回的内容

studNr    mark    module    result
123       47      DNP       (null)
123       39      EKS01     fail
123       64      MOD01     passed
123       70      PRAK      (null)
123       59      KLS01     (null)

我需要的是将结果值where module = "MOD01"放在标记列中的新行上,并将result作为行模块值

我需要Query来返回Example:

studNr    mark    module    
123       47      DNP       
123       39      EKS01     
123       64      MOD01     
123       70      PRAK      
123       59      KLS01     
123       passed  result

1 个答案:

答案 0 :(得分:2)

您可以尝试使用联盟。

像这样。

*注意,这会将标记变为字符串。该字段将按字母顺序排序,而不是按数字排序。

SELECT StudNr,
       mark || '' mark,
       module
from table1
union
SELECT studNr,
       result mark,
       'result' module
from table1
where module = 'MOD01'