Есть ли способ вставить данные для определенных значений в одну таблицу из другой? - PullRequest
1 голос
/ 20 мая 2019

У меня есть одна таблица, которую я создал для обобщения данных, и я хочу использовать ее для своей основной таблицы. Мне нужно объединить несколько таблиц в одну основную таблицу, но я не могу вставить в нее свои данные за 2017 год. Когда я выполняю LEFT JOIN, он добавляет еще один столбец для Wireless Rev. Как мне ввести мои данные за 2017 год, где «nans», чтобы он заменил «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

1 Ответ

1 голос
/ 20 мая 2019

Может как то так?

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
...