gpt4 book ai didi

sql-server-2008 - SQL Server - 根据另一列值更新列

转载 作者:行者123 更新时间:2023-12-05 00:28:39 25 4
gpt4 key购买 nike

如何更新 TableA 中的列在另一个表中找到的值,Table B ,取决于另一列,Type , 在 TableA
例如。

表A

Location Type Value
USA Dog 20
UK Cat 30

表 B
Dog   Cat Rabbit
50 70 100

逻辑:
  • tableA.Value = Dog然后更新 TableA.Value = TableB.Dog
  • tableA.Value = Cat然后更新 TableA.Value = TableB.Cat
  • tableA.Value = Rabbit然后更新 TableA.Value = TableB.Rabbit

  • 注意:只有 3 个选项,所以硬编码是可以的。

    结果

    表A
    Location Type  Value
    USA Dog 50
    UK Cat 70

    最佳答案

    怎么样的东西

    UPDATE TableA
    SET Value =
    CASE Type
    WHEN 'DOG' then B.Dog
    WHEN 'CAT' then B.Cat
    WHEN 'RABBIT' then B.Rabbit
    ELSE Value
    END
    FROM TableB b

    SQL Fiddle DEMO

    关于sql-server-2008 - SQL Server - 根据另一列值更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18577827/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com