gpt4 book ai didi

python - sqlite SQL 查询未处理的行

转载 作者:太空宇宙 更新时间:2023-11-03 19:36:04 26 4
gpt4 key购买 nike

我什至不太确定在哪里/搜索什么 - 所以如果这是以前问过的一件微不足道的事情,我深表歉意!

我在 sqlite 中有两个表:

table_A = [id, value1, value2]
table_A$foo = [id, foo(value1), foo(value2)]
table_A$bar = [id, bar(value1), bar(value2)]

其中 foo()/bar() 是与此处无关的任意函数

现在,我这样做:

select * from table_A

并使用此游标计算每个派生表的所有行。如果出现问题(或者我向 table_A 添加新行),我希望有一种方法能够计算(在 SQL 中,而不是在 python 中)table_A$foo 中已经存在哪些行等等,所以只需选择剩余的(就像 AND NOT)来计算 foo() 和 bar() - 我应该能够在 ID col 上执行此操作,因为这些保持不变。

想知道是否有办法在 sqlite 中做到这一点,我想这会比尝试在 python 中安装它更快。

非常感谢!

最佳答案

我不明白您是否考虑基于 value1 列匹配的匹配,或所有三列的组合......

使用 EXISTS 查找已经存在的:

SELECT *
FROM TABLE_A a
WHERE EXISTS(SELECT NULL
FROM TABLE_A$foo f
WHERE a.id = f.id
AND a.value1 = f.value1
AND a.value2 = f.value2)

使用 EXISTS 查找那些不存在的内容:

SELECT *
FROM TABLE_A a
WHERE NOT EXISTS(SELECT NULL
FROM TABLE_A$foo f
WHERE a.id = f.id
AND a.value1 = f.value1
AND a.value2 = f.value2)

关于python - sqlite SQL 查询未处理的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3495524/

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