代替“表变量+列名=”,有什么方法可以简化它?

时间:2020-09-23 05:49:01

标签: sql sql-server

有什么方法可以代替table variable+column name =

 update [hopi].[dbo].[hdc
         set dostat = 'i'
 from [hopi].[dbo].[hdc] as b
 inner join [hopi].[dbo].hperson as a
  on b.hpercode = a.hpercode
  inner join [hopi].[dbo].[hprocm] as c
  on b.proccode = c.proccode

 where b.dostat = 'a'

  and datepart(yy,b.dodate)='" & yr & "'
  and datepart(mm,b.dodate)='" & mnth & "'
  and datepart(dd,b.dodate)='" & dy & "'

  and a.last= '" &  & "'enter code here
  and a.first= '" &  & "'

and (c.procdesc='prec' or c.procdesc='pros' or c.procdesc='vat' or c.procdesc='vet' or c.procdesc='pak' or c.procdesc='pren' or c.procdesc='maser' or c.procdesc='lolo' or c.procdesc='yawa')

1 个答案:

答案 0 :(得分:0)

您可以在此处使用IN子句来避免重复,即

AND (c.procdesc IN ('prec', 'pros', 'vat', 'vet', 'pak', 'pren', 'maser', 'lolo', 'yawa'))