从另一个数据库添加数据

时间:2017-06-13 07:18:43

标签: mysql sql left-join

我正在尝试使用现有数据库(customerdata)中的DOB列将年龄列添加到数据库(junecustomers)。

我在两个数据集中都有匹配的firstname,lastname和customerid列。在customerdata数据集中,我有DOB列,我想用它来计算年龄。这是对的吗?

select * from junecustomers
left join customerdata
on junecustomers.customerid = customerdata.customerid

alter table (junecustomers)
add select 

trunc(months_between(sysdate, dob)/12) Age from customerdata

注意:customerdata数据库为一些客户提供了多个条目,但junecustomers数据库每个客户只有一个条目。

1 个答案:

答案 0 :(得分:1)

您需要运行两个脚本,一个用于添加列,另一个用于更新数据,例如:

ALTER TABLE junecustomers
ADD COLUMN age INT;

UPDATE junecustomers jc
SET jc.age = (SELECT trunc(months_between(sysdate, dob)/12) FROM customerdata
WHERE customerid = jc.customerid LIMIT 1);