sql >> Databasteknik >  >> RDS >> Sqlserver

Använder IF..ELSE i UPDATE (SQL-server 2005 och/eller ACCESS 2007)

det här borde fungera

update table_name
  set column_b = case
                  when column_a = 1 then 'Y'
                  else null
                 end,
  set column_c = case
                  when column_a = 2 then 'Y'
                  else null
                 end,
  set column_d = case
                  when column_a = 3 then 'Y'
                  else null
                 end
where
 conditions

frågan är varför skulle du vilja göra det...du kanske vill tänka om datamodellen. du kan ersätta null med vad du vill.



  1. Fel:Klienten stöder inte autentiseringsprotokoll som begärts av servern; överväg att uppgradera MySQL-klienten

  2. Behöver hjälp med beräkning med två datamängder med Expression SSRS

  3. Din ultimata guide till SQL Join:INNER JOIN – Del 1

  4. Läser en blob från MySQL med Java