[英]How to get multiple columns data into the same cell with a SQL query?
我需要得到一个 sql 结果,该结果将表中的多列数据放入单个单元格中以获得结果。 查询会如何?
假设我有这两张表:
表格1:
Name spec
--------------
James front
--------------
Henry front
--------------
Henry back
表 2:
Name dir
--------------
James 123
--------------
Henry 456
我想得到这个结果:
结果表:
Name spec dir
-----------------------
James front 123
-----------------------
Henry front 456
back
-----------------------
您可以尝试使用group_concat()
函数
select a.name, group_concat(spec SEPARATOR ' '),dir
from table1 a inner join table2 b on a.name=b.name
group by a.name,dir
该问题的解决方案是调用连接。 连接使用某些标识符将多个表合并为一个。 在您的问题中,标识符是名称。 一个示例解决方案是:
select table1.name, table2.spec, table2.dir
from table1 inner join table2 on table1.name = table2.name
示例: GROUP_CONCAT是正确的,但如果您想在新行中打印规范列值,请使用 ' \\n '
SELECT a.name, GROUP_CONCAT(spec SEPARATOR '\n'),dir
FROM table1 a INNER JOIN table2 b ON (a.name=b.name)
GROUP BY a.name,dir;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.