如何根据现有数据创建包含额外列的视图?

时间:2013-12-19 04:09:38

标签: sql sql-server excel

我想要实现的是基本上从现有表创建一个视图,但我需要添加一个额外的列作为数据类别。

我已经在excel中实现了这一点,但是使用所有额外的公式和数据,我的文件太大了。如果可能的话,我想在SQL中创建类别。

数据自动更新并包含网络流量数据。额外的列需要定义'Channel'。例如;

目前有三列用于指定流量来自哪个渠道 - 来源,媒介和广告系列。我需要根据每个列中的数据创建一个公式。例如,如果广告系列包含“xx-xx”,那么它的频道值将为“示例频道”。但如果Source ='example-source'AND Medium ='example-medium',那么它的Channel将是'Example Channel2'

总共有8个通道,对于我在excel中执行此操作,我需要一列8个嵌套的IF语句,以及一个带有三个嵌套IF语句的额外列,以获得我想要的。我需要第二列基本上从第一个通道列中创建的通道中减去一些数据。

我希望我在这里有意义,但如果我不够清楚,请原谅我。这在我看来是有意义的,但它可能不适合其他人。

我假设我需要创建一个包含某种IF或CASE语句的视图,但我对SQL很新,所以任何帮助都会非常感激。

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

您可以使用Excel中的case语句执行此操作:

select (case when campaign like '%xx-xx%' then 'Example Channel'
             when source = 'example-source' and medium = 'example-medium'
             then 'Example Channel2'
             . . .
        end) as channel