2017-06-13 67 views
0

我试图使用现有数据库(customerdata)中的DOB列将年龄列添加到数据库(junecustomers)。简单:帮助追加SQL数据

我在两个数据集中都有匹配的名字,姓氏和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 

我想要的最终结果是添加了年龄列的原始junecustomers数据集。注意:customerdata数据库对于某些客户有多个条目,但junecustomers数据库只有每个客户一个条目。

+0

你尝试了吗? – WhatsThePoint

回答

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); 
+0

明白了,谢谢。其他一切看起来不错? – user8079408

+0

这取决于你想如何获得“年龄”字段填充。目前,这个年龄会随着年龄的增长而变化。如果那很好,那么是的,它看起来不错。 –

+0

太好了,非常感谢。这很好 – user8079408