subquery returns more than 1 row ? sulution ?
SELECT `t_files`.*, `t_users`.`username`, (SELECT CONCAT(b.first_name, " ", b.last_name) FROM t_files AS a JOIN t_users as b ON b.id = a.user_id ) as upload_by FROM `t_files` LEFT JOIN `t_files_permission` ON `t_files_permission`.`id_files` = `t_files`.`file_id` LEFT JOIN `t_users` ON `t_users`.`id` = `t_files_permission`.`id_users` WHERE `t_files`.`company_id` = '1' AND `t_files_permission`.`id_users` = '59' AND `is_deleted` =0
SELECT t_files
.*, t_users
. username
, (SELECT CONCAT(b.first_name, " ", b.last_name) FROM t_files AS a JOIN t_users AS b ON b.id = a.user_id
WHERE a.id_users` = '59'
) as upload_by FROM t_files
LEFT JOIN t_files_permission
ON t_files_permission
. id_files
= t_files
. file_id
LEFT JOIN t_users
ON t_users
. id
= t_files_permission
. id_users
WHERE t_files
. company_id
= '1' AND t_files_permission
. id_users
= '59' AND is_deleted
=0
try this way
SELECT `t_files`.*, `t_users`.`username`,
(select CONCAT(b.first_name, " ", b.last_name)
from t_files as a
join t_users as b on b.id = a.user_id
where t.files.id=a.id) as upload_by
FROM `t_files` as
LEFT JOIN `t_files_permission` ON `t_files_permission`.`id_files` = `t_files`.`file_id`
LEFT JOIN `t_users` ON `t_users`.`id` = `t_files_permission`.`id_users`
WHERE `t_files`.`company_id` = '1' AND `t_files_permission`.`id_users` = '59' AND `is_deleted` =0
I think you don't need sub query. You can use join to resolve stuff.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.