Sql 使用另一个表中的字段布尔要求更新表

Sql 使用另一个表中的字段布尔要求更新表,sql,postgresql,Sql,Postgresql,我有两张桌子 表1 id kode(boolean) ----------------- 1 false 2 false 3 true 表2 id num 1 499 2 390 3 500 结果: 表1 当table2.num

我有两张桌子

表1

id   kode(boolean)
-----------------
1    false
2    false
3    true
表2

id   num
1    499
2    390
3    500
结果: 表1

table2.num<500


如何为Postgres实现这一点您可以执行如下更新连接。虽然不确定它是
SQL Server
还是
Postgres
,因为作为注释的
SQL Server
没有
boolean
类型,而是
bit
字段

UPDATE t1
SET t1.kode = true
FROM table1 t1
JOIN table2 t2
    ON t1.id = t2.id
WHERE t2.num < 500;
更新t1
设置t1.kode=true
来自表1 t1
加入表2 t2
在t1.id=t2.id上
其中t2.num<500;
以下是Postgres语法:

UPDATE table1 AS t1 
SET kode = true
FROM table2 AS t2
WHERE t1.id = t2.id AND t2.num < 500;
将表1更新为t1
设置kode=true
从表2中取t2
其中t1.id=t2.id,t2.num<500;

SQL Server没有布尔数据类型,因此您的问题没有意义。请为postgres…@a_horse_,带_no_name,yes true,未包含该数据类型,因为我们对此不确定。既然OP已经确认了,请参见答案中的编辑。谢谢Rahul,但是条件num@TedyArian很抱歉我错过了。请再次查看编辑。
UPDATE table1 AS t1 
SET kode = true
FROM table2 AS t2
WHERE t1.id = t2.id AND t2.num < 500;