我对SQL很陌生,我希望有人能帮助我找到一个查询来实现以下功能:
我有两个数据库表。一个叫做页面,是我网站上的一个页面列表。另一个表称为关键字,包含关键字以及可在其中找到的相应页面。
表结构如下
Page Keywords
+-------+------+ +-------+-------+
| Pg_ID | URL | | Word | Pg_ID |
+-------+------+ +-------+-------+
例如,可以在关键字表中找到以下条目:
我从搜索框中获取查询并将其拆分为关键字。
例如,搜索查询中的关键字为:word1,word2
如何返回包含这些关键字的网页列表,在此示例中为page1,page2?
有人可以解释我如何创建SQL查询来执行此操作吗?
谢谢!
答案 0 :(得分:1)
如果我能理解你的设置,With the Following SQLFiddle我相信我已经得到了你需要做的事情。没有列名我只是假设并做了一些。
CREATE TABLE pages(
page_id INT NOT NULL DEFAULT 1,
page_keyword VARCHAR(50) NOT NULL
);
INSERT INTO pages VALUES (1,'cool'),
(1,'awesome'),
(2,'lame'),
(2,'waffle'),
(3,'holy'),
(3,'pope'),
(3,'waffle');
SELECT * FROM pages WHERE page_keyword = 'waffle';
PAGE_ID PAGE_KEYWORD
2 waffle
3 waffle