我试图将两个名为人口和人口增长的列从两个名为 country 和 population <的表中相乘/强>
这两个表是:
的国家
名称 - 人口
人口
名称 - 人口增长
我希望最终结果如下:
生长
population1 * populationgrowth1
population2 * populationgrowth2
等。
我试过这个
select((select population from country) *
(select populationgrowth
from population));
但是我收到一个错误:ERROR:用作表达式的子查询返回的多行。
祝福
编辑 - 非常感谢,非常乐于助人:)
答案 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;
结果如下