2014-01-24 72 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)