【问题标题】:SQL Server - Update value based another tableSQL Server - 基于另一个表更新值
【发布时间】:2023-01-12 03:44:16
【问题描述】:

我有 2 个表:

表格1

  • 包裹编号
  • 池类型

表2

  • 包裹编号
  • 需要水

我想知道表 1 的“池”列是否有一个值,而不是将表 2 的“need_water”列更新为是。

这是我想要的表 2。

表格1

parcel_number pool_type
1 Circle
2 Oval
3 Null
4 Rectangular

表 2

parcel_number need_water
1 Yes
2 Yes
3 No
4 Yes
 if exists(select a.pool_type 
 from table1 a
    where a.parcel_number = b.parcel_number)
    Begin
        Update b
        set b.need_water = 'Yes'
        from table2 b
        end
   else
    Begin
        Update b
        set b.need_water = 'No'
        from table2 b
    End

谢谢

【问题讨论】:

  • 您使用哪个数据库管理系统?

标签: sql sql-server if-statement


【解决方案1】:

一个更新语句应该能够解决这个问题:

UPDATE t2
    SET t2.need_water = CASE WHEN t1.parcel_number IS NOT NULL THEN 'Yes' ELSE 'No' END
FROM table2 t2
   INNER JOIN table1 t1
   ON t2.parcel_number = t1.parcel_number

【讨论】:

    猜你喜欢
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 2012-08-23
    相关资源
    最近更新 更多