使用内部join select语句切换SQL中的列

使用内部join select语句切换SQL中的列,sql,sql-server-2008,Sql,Sql Server 2008,我想执行下面的语句,但我想我在FROM的中缺少了一些语法 UPDATE POSTCODE SET ZIPCODEA = ZIPCODEB, SET ZIPCODEB = ZIPCODEA FROM POSTCODE pst1 inner join POSTCODE pst2 on pst1.POST_ID = pst2.POST_ID where pst1._DT = '2017-03-31' and pst2.START_DT = '2017-04-30' and pst1.ZIPCODEA

我想执行下面的语句,但我想我在FROM的
中缺少了一些语法

UPDATE POSTCODE
SET ZIPCODEA = ZIPCODEB,
SET ZIPCODEB = ZIPCODEA
FROM
POSTCODE pst1 
inner join
POSTCODE pst2
on
pst1.POST_ID = pst2.POST_ID
where
pst1._DT = '2017-03-31'
and pst2.START_DT = '2017-04-30'
and pst1.ZIPCODEA  <> pst2.ZIPCODEA 
更新邮政编码
设置ZIPCODEA=ZIPCODEB,
设置ZIPCODEB=ZIPCODEA
从…起
邮政编码pst1
内连接
邮政编码pst2
在…上
pst1.POST\u ID=pst2.POST\u ID
哪里
pst1._DT='2017-03-31'
pst2.START_DT='2017-04-30'
和pst1.ZIPCODEA pst2.ZIPCODEA
我怎样才能解决这个问题


问候,

将其更改为
更新pst1

    UPDATE pst1 
    SET ZIPCODEA = pst2.ZIPCODEB, ZIPCODEB = pst2.ZIPCODEA
    FROM POSTCODE pst1 
    INNER JOIN POSTCODE pst2 ON pst1.POST_ID = pst2.POST_ID
    WHERE pst1._DT = '2017-03-31' AND pst2.START_DT = '2017-04-30'
          AND pst1.ZIPCODEA  <> pst2.ZIPCODEA
更新pst1
设置ZIPCODEA=pst2.ZIPCODEB,ZIPCODEB=pst2.ZIPCODEA
来自邮政编码pst1
pst1.POST\u ID=pst2.POST\u ID上的内部联接邮政编码pst2
式中,pst1.\u DT='2017-03-31'和pst2.START\u DT='2017-04-30'
和pst1.ZIPCODEA pst2.ZIPCODEA

需要取出第二个
集合
集合ZIPCODEA=pst2.ZIPCODEB,ZIPCODEB=pst2.ZIPCODEA