添加新列(带内部联接)和插入(更新)值(带大小写时)(SQL Server 2012)

添加新列(带内部联接)和插入(更新)值(带大小写时)(SQL Server 2012),sql,sql-server,Sql,Sql Server,向具有值的现有表中添加列的最佳方法是什么 我有以下表格: Table_A ClientID, StatementID, CustBuy Table_B NewClientID 我想在2013年1月13日至今添加一个新栏目 alter Table_A add YTD_Jan13 varchar(20) select (case when CustBuy=0 and StatementID>='01.01.2013' then 'New YTD' else 'Repea

向具有值的现有表中添加列的最佳方法是什么 我有以下表格:

Table_A
ClientID, StatementID, CustBuy

Table_B
NewClientID
我想在2013年1月13日至今添加一个新栏目

alter Table_A add YTD_Jan13 varchar(20)

select 
(case
    when CustBuy=0 and StatementID>='01.01.2013' then 'New YTD'
    else 'Repead YTD'
end) as YTD_Jan13
from A inner join B
on A.ClientID = B.NewClientID
基本上,我想在新列(年初至今2013年1月)中插入值,条件如下: 如果 1) Table_A.ClientID=Table_B.NewClientID 2) 在表a中(CustBuy=0,StatementID>='01.01.2013'),然后'New YTD' else'Repead YTD'

我很困惑,我在寻求你的帮助 提前谢谢 比尔,哈比卜

然后把你的“其他”价值观放进去

update Table_A Set YTD_Jan13 = 'Repeat YTD'
然后(这称为带有联接的更新)

注意:假设A中没有不在B中的客户记录。如果有,您必须更聪明一点,以便在这些情况下YTD_Jan13将保留为空

update Table_A Set YTD_Jan13 = 'Repeat YTD'
UPDATE  a
  SET   a.YTD_Jan13 = 'New YTD'
FROM    Table_A a 
INNER JOIN B 
ON A.ClientID = B.ClientID
Where CustBuy = 0 and StatementID >= '01.01.2013'