gpt4 book ai didi

c# - SQL Compact 中用于大型数据集的 SQL Minus

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

我有两张大 table :

products
--------
id (char) (primary key)
somefield1 (char)
somefield2 (char)

expired_products
------
id (char) (primary key)

我只想拥有那些在产品中但未过期的 ID(ID 不在 expired_products 中)。在 MS Access 中我会做这样的事情

SELECT products.*
FROM products LEFT JOIN expired_products ON products.id = expired_products.id
WHERE expired_products.id Is Null;

最终,我想将查询的结果写入一个新表。

SQL Server Compact(sdf 文件)有没有更好(更快查询)的解决方案?

顺便说一句。我正在使用 C# 并使用 SqlCeConnection 访问数据库。

最佳答案

标准 SQL 和 SQL Server 中的减号运算符是 EXCEPT:

SELECT id 
FROM products
EXCEPT
SELECT id
FROM expired_products;

...但是 Compact 4.0 似乎不支持 EXCEPT :(

与 SQL 一样,这些是执行 semi difference 的替代方法:

例如不存在

SELECT *
FROM products AS p
WHERE NOT EXISTS (
SELECT *
FROM expired_products AS e
WHERE p.id = e.id
);

例如不在

SELECT *
FROM products
WHERE id NOT IN (SELECT id FROM expired_products);

关于c# - SQL Compact 中用于大型数据集的 SQL Minus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8587958/

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