2

我需要进行查询以通过 SQL 从数据库中收集一些数据。在此数据中,有 1 个值用作收集值。这是所提供课程的 ID。有时可以提供有关 fe Office 的课程。但是人们可以在那里为word,excel,powerpoint开设课程......但这都是由1位导师在1门课程中提供的。仍然是统计数据,我需要知道他们是否参加过 Word、Excel、Powerpoint 的课程......

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

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

我希望这能让我的问题变得清晰,并感谢所有的帮助!

4

2 回答 2

8

您可以在您的选择中使用 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
于 2012-07-26T09:40:07.333 回答
0

如果我对您的理解正确,您将需要以下内容:

  • 创建一个包含“courseID”和“replacementID”列的新表,为有替换的情况填写
  • 在您的查询中,通过 courseID 字段与该表进行外部联接,并返回“replacementID”,如果没有替换,则可以为 null
  • 如果replacementID 不为null,则使用replacementID 或courseID
于 2012-07-26T09:42:08.953 回答