将两个不同的表中的两列相乘 - SQL

时间:2018-02-02 19:39:06

标签: sql

我试图将两个名为人口人口增长的列从两个名为 country population <的表中相乘/强>

这两个表是:
国家
名称 - 人口

人口
名称 - 人口增长

我希望最终结果如下:

生长
population1 * populationgrowth1
population2 * populationgrowth2
等。

我试过这个

select((select population from country) *  
  (select populationgrowth 
  from population));  

但是我收到一个错误:ERROR:用作表达式的子查询返回的多行。

祝福

编辑 - 非常感谢,非常乐于助人:)

4 个答案:

答案 0 :(得分:0)

我认为你需要加入:

SELECT a.name, (a.population * b.populationgrowth) multiplication
  FROM Country a, Population b
 WHERE a.name = b.name

答案 1 :(得分:0)

我认为你需要将这些表格连在一起进行计算 像这样:

SELECT c.name,c.population*p.populationgrowth AS Growth
FROM Country c
    INNER JOIN [Population] p
        ON c.name = p.name

答案 2 :(得分:0)

尝试以下查询。在sql中的基本规则,首先你必须在公共密钥上加入两个表,然后用你需要的任何操作选择列

Select c.Population*p.Populationgrowth output
       from 
     Country c 
     join Population p on c.name=p.name

答案 3 :(得分:0)

您可以使用以下代码示例来解决这个问题

create table Country (name varchar(100), population int);
create table Population (CountryName varchar(100), PGrowth decimal(5,3));
go

insert into Country (name, population) values ('Canada', 35000000), ('USA', '350000000');
insert into Population (CountryName, PGrowth) Values ('Canada', 0.02), ('USA', 0.025);
go
select c.name, Growth=c.population*p.PGrowth
from country c
inner join Population p
on p.CountryName = c.name;

结果如下

enter image description here