gpt4 book ai didi

mysql - 如何在 sql 中使用 join 以获得所需的结果

转载 作者:行者123 更新时间:2023-11-29 03:00:16 25 4
gpt4 key购买 nike

我有 2 个表 orc_users 和 orc_files。现在我想从 orc_files 表中获取相关用户的文件我试过这个查询:-

use orc 
select *
from orc_users as T1
INNER JOIN orc_files AS t2 on T1.id = t2.userid
where T1.email='sdfsdf';

我得到了这个结果:- enter image description here

但我想要这样的记录:-

user={name:"sad",
phone:"asdasda",
files:[{filename:"dfsdfs",size:12,fileid:"sdfs"},
{filename:"dfsdfs",size:12,fileid:"sdfs"}]}

我将 node.js 与 MySQL 一起使用,所以它会以数组形式给出结果。

请帮帮我。提前致谢。

最佳答案

所有未经测试的:在查询中使用 group_concat() 作为逗号分隔字符串和分组依据,如下所示:

select
t1.id
/* specify the fields here */

, GROUP_CONCAT(T2.Filename
ORDER BY T2.Filename ASC SEPARATOR ', ') as filenames

from orc_users as T1
INNER JOIN orc_files AS t2 on T1.id = t2.userid
where T1.email='sdfsdf'
group by
t1.id
/* specify the fields here too */
;

也尝试使用 CONCAT() 来获取文件名和大小,例如

      , GROUP_CONCAT( CONCAT(T2.Filename,' size:',T2.size)
ORDER BY T2.Filename ASC SEPARATOR ', ') as filenames

如果 group_concat() 中的 concat() 有效 [我认为它会] 继续添加项目,直到您获得所需的所有详细信息。

性能警告:不知道这会有多好,可能不会很好。

关于mysql - 如何在 sql 中使用 join 以获得所需的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24817783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com