2016-05-15 26 views
-1

我在MySQL中有三个名为users,user_academic_info,department_info,department_info的表,以获得搜索喜欢的选项。查询是如下:mysql与php加入和搜索

SELECT full_name, user_id, email, mobile, dept_name 
FROM users, department_info 
WHERE dept_id = (select dept_id from user_academic_info where ainfo_id = user_id) 
AND full_name LIKE '%%' 
OR user_id LIKE '%%' 
OR email LIKE '%%' 
OR mobile LIKE '%%' 
OR dept_name LIKE '%%' 

它显示了我所有的一切,其中在数据库中,他们是只属于一个部门的部门用户。

回答

0

看到mysql join

SELECT * FROM `users` AS `u` 
LEFT JOIN `user_academic_info` AS `ui` ON (
    `u`.`id` = `ui`.`user_id` 
) 
LEFT JOIN `department_info` AS `di` ON (
    `di`.`dept_id` =`ui`.`dept_id` 
) 
WHERE `u`.`full_name` LIKE '%%' 
OR `u`.`id` = 4 

上面的查询应该让你从所有3代表的所有字段。 添加您的WHERE子句和前面加上正确的表名的字段。

+0

我得到的所有领域,但我想执行搜索操作,所以我必须像使用多次 –

+0

一旦你把所有领域,你可以添加你的WHERE子句像以前一样..只是前场添加表的别名 – carmel