2016-03-14 29 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,"%") 
相關問題