Sql 使用另一个表的和值筛选表
在使用PostgreSQL时,我尝试使用另一个表中的数据来过滤表中的数据。这是一个例子: 表1:Sql 使用另一个表的和值筛选表,sql,postgresql,Sql,Postgresql,在使用PostgreSQL时,我尝试使用另一个表中的数据来过滤表中的数据。这是一个例子: 表1: id|app|area_app 1| A | 4.7 2| A | 4.7 3| A | 4.7 表2: id|spart|area_spart 1| 1a | 1.2 1| 1b | 1.8 2| 2a | 2.1 2| 2b | 2.3 3| 3a | 0.6 我想过滤第二个表,选择其area\
id|app|area_app
1| A | 4.7
2| A | 4.7
3| A | 4.7
表2:
id|spart|area_spart
1| 1a | 1.2
1| 1b | 1.8
2| 2a | 2.1
2| 2b | 2.3
3| 3a | 0.6
我想过滤第二个表,选择其area\u spart
之和等于第一个表的area\u app
的行(具有与第一个表相同的id);在本例中,结果表应为:
id|spart|area_spart
1| 1b | 1.8
2| 2b | 2.3
3| 3a | 0.6
总面积=spart=面积=4.7
谢谢大家 使用
内部联接
如果要从表中获取重复记录,请使用此查询
SELECT table1.id,table2.spart,SUM(table2.area_spart) AS area_spart FROM table1 INNER JOIN table2 ON (table1.id = table2.id) GROUP BY table1.id
如果您正在获取基于id的记录,请使用此记录
SELECT table1.id,table2.spart,SUM(table2.area_spart) AS area_spart FROM table1 INNER JOIN table2 ON (table1.id = table2.id) WHERE table1.id = 'your_id'
如果您的记录不基于id,并且只想获取一条记录,请使用限制尝试此记录
SELECT table1.id,table2.spart,SUM(table2.area_spart) AS area_spart FROM table1 INNER JOIN table2 ON (table1.id = table2.id) LIMIT 1
表1id
是否存在于表2中???其中???是的,表2的第一列是检查我的(@user2727841)答案…你检查了我的(@user2727841)答案吗???请仔细检查你想要的输出-这没有意义,因为没有一个值加起来等于4.7(按id分组)。例如:id=1 sum(area_spart)=(1.2+1.8)=3.0,但它包含在最终输出中。怎么会?