2014-11-05 95 views
-5

我有兩個表都在同一個數據庫...高級我的SQL查詢

怎麼會發出使用java查詢mysql數據庫?

我需要做的是搜索LIKE項目USERNAME列於表1然後從ID列取數據和搜索那些對錶2,如果ID發現則返回true,如果它沒有找到返回false

TABLE 1: 

| Username | ID | 
------------------------ 
| Jack  | 3 | 
| Drew  | 2 | 
| jAcK  | 8 | 
TABLE 2: 

| ID |comment| 
------------------ 
| 3 | * | 
| 8 | * | 
| 2 | * | 

所以我想我應該使這更清楚:

我們尋找TABLE 1jack那麼所有的IDS個結果LIKEjack被搜索對TABLE 2如果IDTABLE 2被找到,那麼TRUE如果沒有的話FALSE

+0

你能顯示你期望得到的給定樣本輸入的輸出嗎?現在的問題還不清楚(至少對我來說) – Mureinik 2014-11-05 18:54:00

+0

您需要加入此處,請跳過此鏈接http://www.techonthenet.com/sql/joins.php – 2014-11-05 18:56:03

+0

歡迎使用StackOverflow。最好做一點研究。從Java程序中使用MySQL有很多可用的資源。請考慮使用其中之一來獲得基本知識。 – 2014-11-05 18:59:50

回答

0

嘗試這個

SELECT * 
FROM TABLE1 T1 
LEFT JOIN TABLE2 T2 
ON T1.ID = T2.ID 
WHERE T1.USERNAME = 'USERNAME'; 
+0

雖然這可能解決OP的問題,但如果解釋爲什麼解決了他的特殊問題,它會更有用。 – 2014-11-05 20:31:42

0

MySQL查詢本身將是這個樣子:

SELECT t1.USERNAME, 
CASE WHEN t2.ID IS NULL THEN 0 ELSE 1 END AS HAS_ID 
FROM TABLE1 t1 
LEFT JOIN TABLE2 t2 
ON t1.ID = t2.ID 
WHERE t1.USERNAME LIKE '%Jack%' 

如果用戶名未整理爲不區分大小寫的內容(在整理規範中查找CI那麼你需要將t1.Username和你的輸入字符串轉換爲小寫或大寫。

恐怕我不能幫你用java部分。