gpt4 book ai didi

sql - 抑制Sqlite数据库上的重复项

转载 作者:行者123 更新时间:2023-12-03 17:41:54 24 4
gpt4 key购买 nike

我试图禁止使用此请求从表中重复:

DELETE FROM tb_entry t1
WHERE entry_id < ANY (SELECT entry_id
FROM tb_entry t2
WHERE t1.entry_id <> t2.entry_id
AND t1.entry_sdate = t2.entry_sdate
AND t1.entry_edate = t2.entry_edate
AND t1.entry_nid = t2.entry_nid
AND t1.entry_msg_grp = t2.entry_msg_grp)


我遇到的第一个错误是:

near "t1": syntax error: DELETE FROM tb_entry t1


我应该怎么做才能使其正常工作?

最佳答案

我不认为SQLite允许delete中使用别名。尝试:

DELETE FROM tb_entry
WHERE entry_id > (SELECT MIN(t2.entry_id)
FROM tb_entry t2
WHERE tb_entry.entry_sdate = t2.entry_sdate AND
tb_entry.entry_edate = t2.entry_edate AND
tb_entry.entry_nid = t2.entry_nid AND
tb_entry.entry_msg_grp = t2.entry_msg_grp
);


我重写了逻辑,以引用最小的 id。我认为这比 < ANY容易得多,在 子查询中,它选择所有其他ID。

关于sql - 抑制Sqlite数据库上的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48907930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com