sql - 根据列条件将数据从一个表插入到另一个表值

标签 sql sql-server

我想知道有没有办法实现这个。 我有两个表,我想将数据从一个表移动到另一个表。

TableA:
ID  Name  Option
----------------------
1  First   Add into box
2  Second  Don't Add
3  Third   Add into box

TableB
ID Name    Option          Status
--------------------------------
1  First   Add into box    Approved 
2  Second  Don't Add       Reject
3  Third   Add into box    Approved 

我想将数据从 TableA 插入到 tableB,但 tableB 多了一列,它的值取决于 option 列数据。 如果列值为 Add into box,则应按批准将其插入 TableB,否则必须插入 Reject

最佳答案

如果您使用的是 MSSQL,则以下查询会起作用。

Insert into TableB (Id,Name, Option, Status) 
select Id,Name, Option, CASE when Option = 'Add into box'  then 'Approved' ELSE 'Rejected' END
From TableA

关于sql - 根据列条件将数据从一个表插入到另一个表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72685614/

相关文章:

sql - Grails 在没有域关系的表上查询 LEFT JOIN

sql - 查找丢失的记录并返回相邻的记录 SQL

sql-server - 不授予查看服务器状态的自定义 sp_who

sql - 遍历 SQL Server 中的 XML 变量

sql-server - 如果列不为空则更新,如果为空则保留为空

sql - 使用 SQL 过滤 CosmoDB 内集合的 JSON 集合中的日期时间值

java - 没有结果时 executeQuery(String sql) 返回什么?

sql - 使用 UNION ALL 合并 Hive 中的多个表?

sql - 如何根据创建日期查找两个表中最接近的记录?

java : use of executeQuery(string) method not supported error?