Sql 使用select Postgres插入值
我需要做一个插入,但是在我需要比较这些值之前与其他表一起插入,以便我也可以插入值在其他表中,在我要插入的当前表中: 我不知道如何编写插入语法Sql 使用select Postgres插入值,sql,postgresql,join,select,sql-insert,Sql,Postgresql,Join,Select,Sql Insert,我需要做一个插入,但是在我需要比较这些值之前与其他表一起插入,以便我也可以插入值在其他表中,在我要插入的当前表中: 我不知道如何编写插入语法 Insert into TABLE_3 (code, value, description) values 123, 20000, teste 考虑插入。。。选择…语法。这种方法很方便 insert into table_3(code, value, desription, subscription, value_percent, total_
Insert into TABLE_3 (code, value, description)
values 123, 20000, teste
考虑
插入。。。选择…
语法。这种方法很方便
insert into table_3(code, value, desription, subscription, value_percent, total_value)
select
v.code,
v.value,
v.description,
t1.subscription,
t2.value_percent,
v.value * t2.value_percent / 100.0 total_value
from (values (123, 20000, 'teste')) v(code, value, description)
inner join table_1 t1 on t1.code = v.code
inner join table_2 t2 on t2.subscription = t1.subscription
考虑
插入。。。选择…
语法。这种方法很方便
insert into table_3(code, value, desription, subscription, value_percent, total_value)
select
v.code,
v.value,
v.description,
t1.subscription,
t2.value_percent,
v.value * t2.value_percent / 100.0 total_value
from (values (123, 20000, 'teste')) v(code, value, description)
inner join table_1 t1 on t1.code = v.code
inner join table_2 t2 on t2.subscription = t1.subscription
我仍然需要做最后一个测试来运行最后一个内部连接,只有在有t1.code的情况下,如果没有,那么就不需要运行它。t1.code不是空的。你能帮我吗?@rbrt:查询就是这样做的。如果
t1.code
上没有匹配项,则不会插入该行。我需要在缺少的列上返回null。可以为null的列是t1.subscription。这是可能的?@rbrt:好的,那么你想要左连接
s而不是内连接
s。首先将最后一个内部联接
更改为左联接
,查看它是否符合您的要求。如果这还不够,那么两个都改变。我仍然需要做最后一个测试来运行最后一个内部连接,只有在有t1.code的情况下,如果没有,那么您就不需要运行它。t1.code不是空的。你能帮我吗?@rbrt:查询就是这样做的。如果t1.code
上没有匹配项,则不会插入该行。我需要在缺少的列上返回null。可以为null的列是t1.subscription。这是可能的?@rbrt:好的,那么你想要左连接
s而不是内连接
s。首先将最后一个内部联接
更改为左联接
,查看它是否符合您的要求。如果这还不够,那就把两者都改变。