将结果中的值替换为特定值

时间:2012-07-26 09:27:32

标签: sql

我需要进行查询以通过SQL从数据库中收集一些数据。在此数据中,有1个值用作收集值。这是给出的课程的ID。有时可以给出关于f.e.的课程。办公室。但是人们可以在那里找一个单词,excel,powerpoint的课程......但是这一切都是由1个导师在1个课程中给出的。仍需要统计数据,我需要知道他们是否参加了Word,Excel,Powerpoint的课程......

是否可以替换结果集中的值?有了这个,我的意思是这样的:

if value = courseValue ==>用特定的courseValue替换值(我可以通过子查询获取值)

我希望这会让我的问题变得清晰,并且我会帮助所有人提供帮助!

2 个答案:

答案 0 :(得分:7)

您可以在select中使用case语句返回除行上的课程ID之外的其他内容。例如:

SELECT 
    field1 AS 'Name',
    CASE 
        WHEN field2 = 'Foo' 
            THEN 'Bar' 
        WHEN field2 = 'Lorem'
            THEN 'Ipsum'
        ELSE 'Some Value'
    END
    AS 'Type',
    field3 AS 'Description'
FROM table

答案 1 :(得分:0)

如果我理解正确,你需要的是:

  • 使用“courseID”和“replacementID”列创建一个新表,填写 替换
  • 的情况
  • 在您的查询中,通过courseID字段对此表执行外部联接,并返回“replacementID”,如果没有替换,则可以为null
  • 如果replacementID不为null或者为courseID
  • ,请使用replacementID