我有两个表有一些类似的列。说,
Table X
有id,first_name last_name
Table Y
有id,email_id, first_name
。
但是这两个表都不完美,所以我需要从另一个表中的数据填充两个表中的空值(使用一些键(例如id))并将其推送到另一个表。
我怎样才能有效地做到这一点?
答案 0 :(得分:3)
只需加入表格,然后写一个case
语句。
示例0 :
select x.id as id
, case when x.first_name is null then y.first_name else x.first_name end as first_name
, x.last_name as last_name
, y.email_id as email_id
from db.tableX x
join db.tableY y
on y.id = x.id
或者您可以使用if
语句执行相同的操作。
示例1 :
select x.id as id
, if(x.first_name is null, y.first_name, x.first_name) as first_name
, x.last_name as last_name
, y.email_id as email_id
from db.tableX x
join db.tableY y
on y.id = x.id