【发布时间】:2014-12-18 05:49:39
【问题描述】:
我对 SQL 很陌生,我希望有人可以帮助我找到实现以下功能的查询:
我有两个数据库表。一个称为page,是我网站上的页面列表。另一个表称为keywords,包含关键字和可以找到它们的相应页面。
表结构如下
Page Keywords
+-------+------+ +-------+-------+
| Pg_ID | URL | | Word | Pg_ID |
+-------+------+ +-------+-------+
例如,可以在关键字表中找到以下条目:
- word1 - page1
- word1 - page2
- word2 - page1
- word2 - page2
- word3 - page3
我从搜索框中获取查询并将其拆分为关键字。
例如,来自搜索查询的关键字是:word1, word2
如何返回包含这些关键字的页面列表,在本例中为 page1、page2?
谁能解释我如何创建一个 SQL 查询来执行此操作?
谢谢!
【问题讨论】:
-
请提供表结构
-
对于初学者,我们需要查看一些您尝试过的代码,以实际帮助您解决此问题。其次,您是否考虑过将相关信息存储在数据库中并使用 MySQL 中可用的FULLTEXT search features?
-
Wherekeyword in ('x','y') group by pageid with count([distinct] keyword) = 2