TSQL更新和选择语句

时间:2013-12-30 09:38:54

标签: sql sql-server tsql select

早上好,

我好好看看答案,但无法找到答案。无论是那个还是答案都在那里,但我正在以不同的方式思考它。

基本上,我想从select语句中更新大量列。

看起来像这样

DECLARE @StartDate as DATETIME;
DECLARE @EndDate as DATETIME;
DECLARE @Branches as VARCHAR(50);
DECLARE @Partcodelist VARCHAR(8000);

SELECT  @StartDate = (SELECT MIN(Date) FROM calendar WHERE WeekID = (SELECT WeekID FROM calendar WHERE Date = udf_CalculateDateShift(-56))), 
    @EndDate = udf_CalculateDateShift(-1),
    @Branches = '2000,2001,
    @Partcodelist = 'part1, part2';


UPDATE  dbo.Table T
SET a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p
FROM (select a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p from lots of other select sub queries) x

where t.date = x.date and t.branch = x.branch

这是可能的还是我必须以其他方式做到这一点?

由于

戴夫。

1 个答案:

答案 0 :(得分:1)

确实可能。只需确保from子句中的语句是一个select语句......如果需要,你可以使用别名,甚至连接,联合等等