2015-06-05 69 views
2

前兩個「AND」語句完美地工作。當我試圖導入第三個時,我沒有輸出。SELECT中的SELECT用於在java中的mysql查詢

PreparedStatement pst=con.prepareStatement("SELECT * FROM album WHERE (Album_Title LIKE ?) AND (instrument LIKE ?) AND (ID_album ==(SELECT ID_album FROM song WHERE Song_Title LIKE ?))"); 
pst.setString(1,"%" + title_key + "%"); 
pst.setString(2,"%" + instr_key + "%"); 
pst.setString(3,"%" + song_key + "%"); 


ResultSet rs=pst.executeQuery(); 
table.setModel(DbUtils.resultSetToTableModel(rs)); 
+0

您的數據庫中是否有符合所有三個條件的案例? – rogerdeuce

+0

我改變了每一個AND到或再次..沒有輸出 –

+0

這種搜索是非常難以讓用戶得到正確的。您可能想要調查MySQL的FULLTEXT搜索。 –

回答

1

代替==,您可以嘗試使用'IN'。不知道它是否有幫助,但你可以嘗試。另外,檢查一個條目是否存在於數據庫中。

+0

它的工作原理!謝謝 –