根据两个预先存在的列的内容向现有表中添加一个新列



我正在尝试向SQL Server中的现有表添加一个新列。我希望这个新列的值是根据表中两个现有列的内容来确定的。例如,有一列叫做制造商,另一列叫做供应商。当这两列的内容相同时,我希望单词"相同"显示在新列中。如果这两列内容不相同,我希望新列显示"不相同"。

下面的语句向我展示了我正在寻找的所有值,但我不知道如何根据这些结果添加如上所述的新列。我一直在论坛上搜索,研究案例陈述有一段时间没有任何成功。

Select *
from dbo.[Merchandise]
where [Manufacturer] = [Vendor]

如有任何协助,我们将不胜感激。

我可以使用下面的方法添加一个带条件的列。

alter table TABLE_NAME
add NEW_COL_NAME as (case 
when COL1_NAME = COL2_NAME then 'same'
else 'not the same'
end);

对你来说,它可能喜欢

alter table Merchandise
add NEW_COL_NAME as (case 
when Manufacturer = Vendor then 'Same'
else 'Not the Same'
end);

听起来像case表达式:

select m.*,
(case when manufacturor = vendor then 'Same' else 'Not the same' end) as newcolumn
from merchandise;

听起来你想要一个计算列:

alter table marchandise
add newcol 
as (case when manufacturer = vendor then 'same' else 'not the same' end)
;

这将向表中添加一个新列,称为newcol,其值是根据另外两列的值自动计算的。

相关内容

  • 没有找到相关文章

最新更新