gpt4 book ai didi

database - ms Access 查询挂起

转载 作者:搜寻专家 更新时间:2023-10-30 22:15:22 25 4
gpt4 key购买 nike

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/

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