在SQLite中,仅将选定的值从一个表复制到另一个表中,并带有where子句

Copy only the selected values form one table to another one with where clause in SQLite

提问人:Imre Pocsai 提问时间:11/8/2023 最后编辑:Imre Pocsai 更新时间:11/9/2023 访问量:42

问:

我有一个包含重复行的表(表:electricity_meters)。还有另一个表(表:power_consumptions)告诉我要保留第一个表的哪一行。

尝试使用 CTE 删除 SQLite 中的重复行,但不起作用。

这是我正在尝试的,使用DB Browser for SQLite:

with CTE_table AS
(
select *, row_number() over (PARTITION by serial_number ORDER by consumed_value DESC) as row_num
from electricity_meters
left JOIN power_consumtions on electricity_meters.adressId=power_consumptions.adressId
)
delete from CTE_table
WHERE row_num > 1

结果:

Execution finished with errors.
Result: no such column: row_num

serial_number位于第一个表 (electricity_meters) 中,consumed_value位于第二个表 (power_consumtions) 中。

任何建议或帮助都会很棒。谢谢。

sql sqlite 数据库浏览器 sqlite

评论


答:

0赞 Vector 11/9/2023 #1

我有一个带有 TABLE“TxData”的 sqlite 数据库,这两列 NxData 和 txSearchMonth 都是整数类型 尝试添加条件语句 WHERE row_num = your value

UPDATE TxData SET NxData = txSearchMonth

评论

0赞 Imre Pocsai 11/10/2023
我不完全理解这一点。:(
0赞 Vector 11/11/2023
@ImrePocsai 您正在使用多少张桌子?如果要删除的所有数据都在一列中,请将其移至另一列 您对新列中的数据执行的操作从您的问题中不清楚 那么,您要对要删除的数据执行什么操作 如果你只是想删除它,如果它是重复的,那么写一个带条件的 DELETE 语句
0赞 Imre Pocsai 11/13/2023
我想删除完整的行。所有行都是重复的,第二个表告诉需要哪一行。