sách gpt4 ai đã đi

Các vấn đề với truy vấn phụ Sqlite

In lại 作者:行者123 更新时间:2023-12-03 19:35:47 28 4
mua khóa gpt4 Nike

của tôi CustomTags 表可能有一系列“临时”记录,其中 Tag_ID 为 0,并且 Tag_Number 将有一些五位数的值。

定期,我想清理我的 Sqlite 表以删除这些临时值。

例如,我可能有:

Tag_ID Tag_Number
0 12345
0 67890
0 45678
1 12345
2 67890

在这种情况下,我想删除前两条记录,因为它们与实际的 Tag_ID 1 和 2 重复。但我不想删除第三条记录,因为它还没有被复制。

我尝试了许多不同类型的子查询,但我就是无法让它工作。这是我尝试的最后一件事,但我的数据库客户端提示未知语法错误。 (我尝试过使用和不使用 BẰNG 作为别名)
DELETE FROM CustomTags t1
WHERE t1.Tag_ID = 0
AND (SELECT COUNT(*) FROM CustomTags t2 WHERE t1.Tag_Number = t2.Tag_Number) > 1

谁能提供一些见解?谢谢

1 Câu trả lời

有很多选项,但最简单的可能是使用 EXISTS ;

DELETE FROM CustomTags
WHERE Tag_ID = 0
AND EXISTS(
SELECT 1 FROM CustomTags c
WHERE c.Tag_ID <> 0 AND c.Tag_Number = CustomTags.Tag_Number
)

An SQLfiddle to test with .

...或 NOT IN ...
DELETE FROM CustomTags
WHERE Tag_ID = 0
AND Tag_Number IN (
SELECT Tag_Number FROM CustomTags WHERE Tag_ID <> 0
)

Another SQLfiddle .

关于sqlite - Sqlite 子查询的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35738627/

28 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com