python - 有没有一种方法可以将某些值的数据从另一个表插入到一个表中?

标签 python sql join merge left-join

我创建了一个表来汇总数据,并希望将其用于我的主表。我需要将多个表连接到这个主表中,但无法将 2017 年的数据放入其中。当我执行 LEFT JOIN 时,它会为 Wireless Rev 添加另一列。如何在“nans”所在的位置输入 2017 年数据,以便它替换“nans”?表格示例:

Table1

State    Year    Wireline    Wireless
-------------------------------------
TENN.    2017    120         NAN
TEXAS    2017    255         NAN
TENN.    2018    182         55
TEXAS    2018    222         120

Table2

State    Year    Wireless
-------------------------------------
TENN.    2017    222
TEXAS    2017    431

我已经尝试过左连接,但它会在现有无线旁边创建另一列:

SELECT Table1.*,Table2.Wireless
FROM Table1    
LEFT JOIN Table2
ON Table1.State = Table2.State
AND Table1.Year = Table2.Year

这给了我:

State    Year    Wireline    Wireless    Wireless
--------------------------------------------------
TENN.    2017    120         NAN         222
TEXAS    2017    255         NAN         431  
TENN.    2018    182         55          0 
TEXAS    2018    222         120         0

我希望得到:

State    Year    Wireline    Wireless
-------------------------------------
TENN.    2017    120         222
TEXAS    2017    255         431
TENN.    2018    182         55
TEXAS    2018    222         120

最佳答案

也许是这样的?

SELECT Table1.State,
       Table1.Year,
       Table1.Wireline,
       COALESCE(Table1.Wireless, Table2.Wireless) AS Wireless
FROM Table1    
LEFT JOIN Table2
ON Table1.State = Table2.State
AND Table1.Year = Table2.Year

关于python - 有没有一种方法可以将某些值的数据从另一个表插入到一个表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56227426/

相关文章:

python - IS运算符在python中的不常见行为

MySQL NOT IN 来自同一表中的另一列

sql - 正则表达式填充零

sql - 如何在 Ruby on Rails 中实现复杂的 SQL 查询?

mysql - 仅选择数据库中的最新条目

python - 多个条目的 Matplotlib 图形图例

python - 属性错误 : module 'html5lib.treebuilders.etree' has no attribute 'getETreeModule'

python - 检查列表中的项目是否在另一个列表中

mysql - SQL返回单行内连接

sql - 大型数据列表的微服务和连接