pg sql 更新关联表的字段
时间: 2023-08-18 22:04:21 浏览: 115
要更新关联表的字段,您可以使用 PostgreSQL 中的 UPDATE JOIN 语句。下面是一个示例:
```sql
UPDATE table1
SET column1 = new_value
FROM table2
WHERE table1.column2 = table2.column2;
```
在这个例子中,`table1` 是要更新的表,`column1` 是要更新的字段,`new_value` 是新的值。`table2` 是关联的表,`column2` 是用于关联的字段。通过在 `WHERE` 子句中指定关联条件,可以确保只有满足条件的记录才会被更新。
请根据您的实际情况修改表名、字段名和条件。
相关问题
Pg根据字段条件将另外的字pg关联表值
您好,您的问题有些不太清晰,如果您能提供更多的细节和信息,我可以更好地回答您的问题。不过根据您的描述,我猜测您可能是想实现一个SQL查询语句,根据某个表的字段条件将另外一个表中的值关联起来。如果是这样的话,您可以使用SQL中的JOIN语句来实现这个功能。具体的语法和使用方法可以参考相应的SQL教程或者文档。
mysql用sql统计pg_report表包含id,finish_time,inquiry_id与pg_inquiry的id相关联,pg_inquiry包含bank_name字段 ,统计上周按银行名统计id数量
可以使用如下 SQL 语句来实现:
```
SELECT pg_inquiry.bank_name, COUNT(pg_report.id) AS id_count
FROM pg_report
JOIN pg_inquiry ON pg_report.inquiry_id = pg_inquiry.id
WHERE YEARWEEK(pg_report.finish_time) = YEARWEEK(NOW()) - 1
GROUP BY pg_inquiry.bank_name
ORDER BY id_count DESC;
```
解释一下上面的 SQL 语句:
- 首先使用 JOIN 将 pg_report 表和 pg_inquiry 表连接起来,连接条件是 pg_report 表中的 inquiry_id 字段等于 pg_inquiry 表中的 id 字段,这样就将这两个表相关联起来了。
- 然后使用 WHERE 子句来过滤出上周的数据,这里使用 YEARWEEK 函数来获取当前日期所在的年份和周数,然后减去 1,就得到了上周的年份和周数。然后再使用 YEARWEEK 函数来获取每条记录的年份和周数,如果两者相同,就说明这条记录是上周的数据,满足条件。
- 接着使用 GROUP BY 子句按照银行名进行分组,然后使用 COUNT 函数统计每个银行名对应的 id 数量。
- 最后使用 ORDER BY 子句按照 id 数量降序排序,这样就可以将银行名按照 id 数量从多到少排列了。
阅读全文