简体   繁体   English

子查询返回1行以上?

[英]subquery returns more than 1 row?

subquery returns more than 1 row ? 子查询返回1行以上? 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 

Add the condition in your sub query like below 如下所示在您的子查询中添加条件

SELECT t_files .*, t_users . 选择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 username ,(SELECT CONCAT(b.first_name,“”,b.last_name)来自t_files作为一个联接t_users AS为b ON b.id = a.user_id

WHERE a.id_users` = '59' a.id_users` ='59'

) as upload_by FROM t_files LEFT JOIN t_files_permission ON t_files_permission . )作为upload_by FROM t_files左联接t_files_permission ON t_files_permission id_files = t_files . id_files = t_files file_id LEFT JOIN t_users ON t_users . file_id LEFT JOIN t_users ON t_users id = t_files_permission . id = t_files_permission id_users WHERE t_files . id_users哪里t_files company_id = '1' AND t_files_permission . company_id ='1'和t_files_permission id_users = '59' AND is_deleted =0 id_users =' 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. 您可以使用join来解决问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM