如何在修改并使用字段的情况下运行SQL更新查询
SQL上是否可以执行以下操作?(使用SQLITE3) 现在我需要做一些事情,比如:如何在修改并使用字段的情况下运行SQL更新查询,sql,sqlite,sql-update,Sql,Sqlite,Sql Update,SQL上是否可以执行以下操作?(使用SQLITE3) 现在我需要做一些事情,比如: UPDATE Table SET Value1 = (SELECT ...) Value2 = Value3/(SELECT ...); 这使得代码相当长。想象一下,我更新的不仅仅是Value1,还有其他字段 所以我找到的唯一解决方案是做两次更新。第一: UPDATE Table SET Value1 = (SELECT ...); 然后 UPDATE Table SET Value2 = Value3/Va
UPDATE Table SET
Value1 = (SELECT ...)
Value2 = Value3/(SELECT ...);
这使得代码相当长。想象一下,我更新的不仅仅是Value1,还有其他字段
所以我找到的唯一解决方案是做两次更新。第一:
UPDATE Table SET
Value1 = (SELECT ...);
然后
UPDATE Table SET
Value2 = Value3/Value1;
有人有更“漂亮”的方法吗
谢谢,也许您可以尝试更换
replace into table2
(Value1 , Value2)
select src.Value1 , src.Value3 / src.Value1
from table1 src
在sql中,您不能执行UDPATE。。。从
中,如本中所述,您可以这样做:
update Table1 set szNo = KO.nNo
from
(select nNo From Table2) KO
在SQLite 3.8.3或更高版本中,您可以使用:
(这甚至适用于相关的子查询)
我会考虑先做内部代码>选择< <代码> >,然后>代码>更新/代码>一个语句中的两个值。这将删除任何旧行,所以其他列中的值将丢失。
update Table1 set szNo = KO.nNo
from
(select nNo From Table2) KO
WITH u(v) AS (
SELECT ...
)
UPDATE MyTable
SET Value1 = (SELECT v FROM u),
Value2 = Value3 / (SELECT v FROM u);