帮助使用 Delphi 7、ADO 和MS Access SQL 语句

发布于 2024-10-07 07:02:23 字数 504 浏览 0 评论 0原文

我有三个表(在 MS Access Database 2000 文件 *.mdb 中

) 编号
问题
回答

知识_关键词
编号
知识ID
keywordsid

关键字
编号
关键字

需要获取某个知识的所有关键字

从关键字中选择不同的关键字 KW
在 KKW.keywordid = KW.id
上加入 Knowledge_keywords KKW 在 K.id = KKW.knowledgeid 上加入 Knowledge K
其中 k.id = 10

当然 10 是一个例子,我实际上在那里使用了一个参数

Where k.id = :AKnowId';

并在代码中填写

qry.Parameters.ParamByName('AKnowId').Value:= AKnowledgeId;

无论如何,我认为 SQL 是 qrong,任何帮助将不胜感激

I have three tables (in a MS Access Database 2000 file *.mdb)

Knowledge
id
question
answer

Knowledge_Keywords
id
knowledgeid
keywordsid

Keywords
id
keyword

Need to get all the keywords for a knowledge

Select distinct keyword from keywords KW
Join knowledge_keywords KKW on KKW.keywordid = KW.id
Join Knowledge K on K.id = KKW.knowledgeid
Where k.id = 10

of course 10 is a example, i actually use a parameter there

Where k.id = :AKnowId';

and fill it in in code

qry.Parameters.ParamByName('AKnowId').Value:= AKnowledgeId;

anyway, i think the SQL is qrong, any help would be greatly appreciated

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

衣神在巴黎 2024-10-14 07:02:23

让 SQL 在 Access 本身内正常工作(进行查询,尝试 SQL,看看它是否返回任何内容)。然后担心德尔福。

Get the SQL working properly within Access itself (make a query, try your SQL, see if it returns anything). THEN worry about Delphi.

柳絮泡泡 2024-10-14 07:02:23

解决了!

选择不同的关键字
来自(关键字 KW
内部加入knowledge_keywords KKW on KKW.keywordid = KW.id)
在 K.id = KKW.knowledgeid
上内连接知识 K
其中 k.id = 10

Solved it!

Select distinct keyword
from (keywords KW
inner Join knowledge_keywords KKW on KKW.keywordid = KW.id)
inner Join Knowledge K on K.id = KKW.knowledgeid
Where k.id = 10

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文