database - ms Access 查询挂起

标签 database ms-access

qFieldInner

PARAMETERS pText1 Text ( 255 );
SELECT entries.en_main, MIN(entries.en_id) AS en_id
FROM entries
WHERE (((entries.en_main) In (625, 1310)))
GROUP BY en_main;

当我运行这个查询时它返回:

625 76719
1310 177239

但是,如果我将其转换为:

PARAMETERS pText1 Text ( 255 );
SELECT entries.en_main, MIN(entries.en_id) AS en_id
FROM entries
WHERE (((entries.en_main) In (SELECT en_main FROM qFieldInnest)))
GROUP BY en_main;

然后它就会挂起。

qFieldInnest 是这个,当我手动运行它时正确返回 625 和 1310

PARAMETERS pText1 Text ( 255 );
SELECT DISTINCT entries.en_main
FROM entries
WHERE (((entries.en_lect) Like ("* " & [pText1] & "*") Or (entries.en_lect) Like ([pText1] & "*")) AND ((entries.en_ref)=0) AND (((entries.en_se)=1) OR ((entries.en_meros)=6))) OR (((entries.en_thama) Like ("* " & [pText1] & "*") Or (entries.en_thama) Like ([pText1] & "*")));

我不明白这里出了什么问题。

最佳答案

我会用一个查询来解决这个问题,该查询使用 qFieldInnest 中的 SQL 作为子查询,INNER JOIN 子查询到 entries 表.

qFieldInnest 中的WHERE 子句对我来说很难理解。它也将挑战数据库引擎,因为它必须完成大量的工作。

我没有什么可测试的,所以不确定我是否在以下 SQL 中出错。如果它不起作用,请将子查询 SQL 分解为一个新查询并单独测试。

PARAMETERS pText1 Text ( 255 );
SELECT e.en_main, MIN(e.en_id) AS en_id
FROM
    entries AS e
    INNER JOIN
    (
        SELECT DISTINCT en_main
        FROM entries
        WHERE
                (
                    (
                           en_lect Like "* " & [pText1] & "*"
                        Or en_lect Like [pText1] & "*"
                    )
                    AND en_ref=0
                    AND
                        (
                               en_se=1
                            OR en_meros=6
                        )
                )
            OR
                (
                       en_thama Like "* " & [pText1] & "*"
                    Or en_thama Like [pText1] & "*"
                )

    ) AS sub
    ON e.en_main = sub.en_main
GROUP BY e.en_main;

关于database - ms Access 查询挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13958370/

相关文章:

c# - 使用 C# 将一个 Access 数据库复制到另一个数据库

database - wiki 示例中的 3nf 函数依赖

database - 如何确保我的数据库在 Mac OS X 开发中安全?

database - YugaByte DB 中的 RHEL 环境

ms-access - 捕获主键值

ms-access - 将 Access 97 mdb 升级到 Access 2010 mdb/mde?经验?

mysql - 验证具有多个 parent 和多个 child 的列表(图)

database - 与 EF 配合良好且易于部署的独立数据库选项?

sql-server - MS Access/SQL Server - VBA : Upload local file to filestream on remote SQL server

c# - "No value given for one or more required parameters."