[英]How to convert a row into a column in mysql query without pivot
如何在没有透视的情况下将行转换为mysql查询中的列。 我有一个类似的表架构
***********************
ID SchoolName
1 JV
2 SDH
***********************
我想将其转置为
**1 JV 2 SDH**
我已经尝试过枢轴,但是我需要找到一个替代方法。 请帮忙。
SELECT GROUP_CONCAT(CONCAT(ID, ' ', SchoolName) SEPARATOR ' ') AS OUTPUT
FROM YourTable
即使根据您的最新评论,仍然不清楚您要达到的目标,这实际上使您无法获得所需的确切答案。
现在,如果您只需要转置国家/地区表并将其显示为一行,则可以使用动态SQL进行操作
SET @sql = NULL;
SELECT GROUP_CONCAT(CONCAT(id, '`', country_name, '`'))
INTO @sql
FROM countries;
SET @sql = CONCAT('SELECT ', @sql);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
输出:
| INDIA | USA | BRASIL | ------------------------ | 1 | 2 | 3 |
这是SQLFiddle演示
SELECT GROUP_CONCAT(CONCAT_WS(' ',`ID`,`SchoolName`) ORDER BY `ID` ASC SEPARATOR ' ') gre FROM tblstudents ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.