2014-01-24 113 views
-7

數據我有2個表:MySQL的搜索來自多個表

用戶

ID | Name | Class 

類別

ID | user_id | cat_id 

如果從文本字段如何用戶輸入數據我從兩個表中搜索數據?

+5

查看JOIN,LIKE和MySQL通配符。 –

+0

這可能是否可能取決於你想要的結果。 你可以使用連接,子查詢或聯合... – Dysosmus

+0

你是什麼意思?你需要插入時使用mysql_insert_id作爲user_id到table2。 –

回答

0
SELECT * from user, category 
WHERE user.id=[text field] 
or category.user_id=[text field] 
or category.cat_id=[text field] 
0

您需要將兩個表連接在一起。

Select * 
from User , Category 
where user.id = Category.user_id 

基本上,你基於它們共享的user_id將兩者連接在一起。這樣你就可以從兩個表中獲取信息。

這裏有一個鏈接可以幫助你理解這個概念。 http://www.w3schools.com/sql/sql_join.asp

1

您將需要一個帶連接的基本查詢。事情是這樣的:

SELECT * FROM user u 
    LEFT JOIN category c ON c.user_id = u.id 
    WHERE ... 
0

試試吧

你需要插入使用mysql_insert_id for user_id於表2的時間。

在選擇時使用JOIN在MySQL

"select * from tb1,tb2 where tb1.ID=tb2.user_id and where tb1.ID='userid' " 

特定用戶

0

嘗試這種方式

SELECT * FROM user 
LEFT JOIN category ON category.user_id = user.ID 
WHERE user.Name LIKE '%lorem%' 
0

即使你可以這樣做這個:

SELECT * from user 
LEFT JOIN category ON user.id = category.user_id 
WHERE text_field IN (user.id,category.user_id,category.cat_id)