2016-03-14 43 views
0

首先,我很抱歉,如果这已经存在,但我已经尝试了多个不同的搜索遍及谷歌和这里,并没有发现任何帮助。SQL打印table1条目包含table2条目

我有一个数据库'database1'和两个表'table1'和'table2'。 table1有3列:URL,DateTime和VisitCount。 表2有一列:关键字。

表1中的URL与它们来自的csv文件中的URL一样,只是标准的http URL。 表2具有诸如'amazon'和'ebay'等购物网站的关键字。

我正在使用netbeans。我的表格当前显示table1的所有结果。当用户点击“购物”时,表格应该过滤所有结果,以便仅显示那些包含来自表格2的结果的结果。桌子和按钮都可以工作,这只是我遇到的问题。

我曾尝试:

SELECT * FROM table1 WHERE URL LIKE keyword 

也:

SELECT * FROM table1 WHERE URL LIKE (SELECT * FROM table2) 

和各种细微变化,没有一个工作。我甚至不确定是否可以做到这一点?

非常提前谢谢。

+0

*当用户点击 '购物' 这个表应该过滤所有的结果只显示包含table2结果的结果*。 **你的table2是否包含关键字“Shopping”?**如果没有,那么如何将单词**“Shopping”**与“Amazon”或“ebay”相关联。您需要将关键字与类别OR映射“amazon”或“eBay”作为参数映射。 –

+0

谢谢你的答案。他们点击的只是一个说“购物”的按钮。目标是让他们点击这个按钮,然后使用一些java代码来执行查询来检查table1中的任何URL是否包含表2中列出的任何单词。 – fletgen

回答

0

试试这个:

SELECT table1.* 
FROM table1, table2 
WHERE table1.URL LIKE CONCAT('%', table2.Keyword, '%') 
+0

谢谢这么多!我浪费了几天的时间试图找出答案。非常感谢! – fletgen

+0

享受:)但其表现可能很差,大桌子。此外,如果有重复的关键字,您将得到重复(但可以通过对查询进行一些小的更改来解决该问题)。 – obe

+0

如果某些网址包含两个或更多关键字,那么也会有重复项... – obe

1

尝试Concat的搜索字符串(关键字)以 “%” 之前和之后它:

SELECT * FROM table1 WHERE URL LIKE CONCAT("%",keyword,"%") 
相关问题