我有两张桌子:
DATA1:
obs unique_id date v1 x1 x2 x3 x4
1 4 20050203 A 1 2 3 4
2 3 20050203 B 2 3 4 5
3 2 20050203 C 3 4 5 6
4 1 20050203 D 4 5 6 7
DATA2:
unique_id z1 z2 c1 c2
1
2
3
4
我的问题是: 我想通过匹配unique_id找到一个新变量,比如p1 =((x1 + x3)-z1)/ z2)。例如,将unique_id 1与两个表中的1匹配,然后计算变量。请帮助我使用proq sql。
答案 0 :(得分:0)
这应该是加入
SELECT ((x1+x3)-z1)/z2) AS p1
FROM data1,data2
WHERE data1.unique_id=data2.unique_id;
答案 1 :(得分:0)
使用join
运算符:
select ((x1+x3)-z1)/z2) as p1
from data1 d1 inner join data2 d2
on d1.unique_id = d2.unique_id
如果您在data2中没有匹配的数据,则可以使用Left outer join
和COALESCE
,例如:
select ((x1+x3)-COALESCE(z1,0))/Coalesce(z2,1)) as p1
from data1 d1 left outer join data2 d2
on d1.unique_id = d2.unique_id