2016-05-15 23 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