添加新列(带内部联接)和插入(更新)值(带大小写时)(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'