2012-07-26 25 views
1

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

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

如果值= courseValue ==>替换特定courseValue值(我可以通过一个子查询得到的值)

我希望这是我的问题清楚,我所有并欣赏了帮帮我!

+0

请将迄今为止写入的SQL添加到您的问题 – 2012-07-26 09:32:37

+0

它是您想要替换的单个值,还是(可能)多个值? – 2012-07-26 09:37:20

+0

你必须清楚地解释你有什么信息和你需要什么。 对我来说,听起来像你存储学生的一般课程信息(办公室),并希望通过魔法提取详细的信息(办公室/ Word)。 – 2012-07-26 09:40:49

回答

5

您可以在您的select中使用case语句来返回除该行上的课程标识以外的内容。例如:

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 
+0

谢谢!我在编号时使用了这个名字(所以我需要做更多的工作,所以我首先测试了它。)以这种方式测试: SELECT count(*)as aantal_per_maand,case when p.planning_Cursus_ID = 2087 then 123123 else p.planning_Cursus_ID end作为ID,cursus_Naam 如cursusNaam .... 会像: SELECT COUNT(*)作为aantal_per_maand,情况下,当p.planning_Cursus_ID = 2087然后cursus_Naam = “<进行名称选择子查询>” 其他cursus_Naam端作为cursusNaam。 ..(语法不会很好,但我认为这是一个头脑风暴的想法:P) – procx 2012-07-26 12:24:42

0

如果我理解正确的话,则需要沿该线的东西:

  • 创建“courseID”和“replacementID”列的新表,填好了情况下,有更换
  • 在您的查询做外与此表一起在courseID各个领域,并返回“replacementID”,它可以为空是没有替换
  • 二者必选其一如果不是null或课程ID
相关问题