帮助使用 Delphi 7、ADO 和MS Access SQL 语句
我有三个表(在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
让 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.
解决了!
选择不同的关键字
来自(关键字 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