sql >> Database teknologi >  >> RDS >> Sqlserver

Brug af IF..ELSE i UPDATE (SQL-server 2005 og/eller ACCESS 2007)

dette burde virke

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

Spørgsmålet er, hvorfor ville du gøre det...du vil måske genoverveje datamodellen. du kan erstatte null med hvad du vil.



  1. MariaDB JSON_SEARCH() Forklaret

  2. Kørsel af SQL Server CE 4-forespørgsler med Visual Studio 2012 og SQL Server Management Studio 2012

  3. Hvordan opretter man en lagret procedure med skemabinding?

  4. Bedste ækvivalent til IsInteger i SQL Server