插入具有相同值的列

时间:2019-07-22 11:47:45

标签: sql

我正在对“性能”表运行查询,我想为所有行插入一个具有相同值的列,而无需使用alter,update等。

我写了一个案例声明,它可以工作,但是还有更精致的方法吗?

这是一个简短的查询:

SELECT id, name, class, 
       CASE 
          WHEN id IS NOT NULL THEN 'Actuals' 
          ELSE 'Forecast' 
       END AS type 
FROM performance 

基本上,我需要将所有值标记为“ Actuals”。

还有许多其他的数据集,我将使用不同的标签,然后附加所有标签

请明确-无需更新表性能本身

1 个答案:

答案 0 :(得分:0)

在您的情况下使用common table expression。 它将在现有数据中添加新的column,您可以将其用于下一步。 就您而言,它既不是在现有的db结构中添加也不插入任何东西。

  with CTE as (
  SELECT id, name, class, 
  CASE WHEN id IS NOT NULL THEN 'Actuals' ELSE 'Forecast' END AS type
  FROM table_performance
  )
  select * from CTE   ----- It give you all the columns from [table] and add another column as you needed.

OR

如果此条件固定,则可以为其创建一个view