多行的内连接

时间:2016-03-22 21:14:01

标签: sql inner-join

我有两张桌子: 收购和地理。我们可以在收购表中找到收料国家代码和目标国家代码。在地理表中,我们可以找到两个国家之间的地理距离。所有可能的组合都在此表中(1个组合= country_2_letter_1和country_2_letter_2)并且具有自己的地理距离(distcap)。我想用收货国和目标国之间适当的地理距离更新收购表。这就是我提出的问题,但我一直收到错误:Unexpected end of the SQL command

任何帮助?

 update acquisitions t
   set t.geographical_distance=
   (select s.distcap
   from
(SELECT 
distinct g.country_2_letter_1, g.country_2_letter_2, g.distcap
FROM 
   geo g
INNER JOIN 
    acquisitions z1 ON (z1.target_country_code = g.country_2_letter_2)
INNER JOIN
    acquisitions z2 ON (z2.acquiror_country_code = g.country_2_letter_1))s
WHERE 
    (t.acquiror_country_code = s.country_2_letter_1 and t.target_country_code = s.country_2_letter_2);

0 个答案:

没有答案