我正在尝试使用现有数据库(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数据库每个客户只有一个条目。
答案 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);