如何在没有pivot的mysql查询中将行转换为列。我有一个类似
的表模式***********************
ID SchoolName
1 JV
2 SDH
***********************
我想将其转换为
**1 JV 2 SDH**
我尝试过枢轴,但我需要找到另一种选择。请帮忙。
答案 0 :(得分:0)
SELECT GROUP_CONCAT(CONCAT(ID, ' ', SchoolName) SEPARATOR ' ') AS OUTPUT
FROM YourTable
答案 1 :(得分:0)
即使根据您的上一次评论,仍然不清楚您要实现的目标,这实际上会阻止您获得您正在寻找的确切答案。
现在,如果您只需转置国家/地区表并将其作为单行显示,则可以使用动态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 演示
答案 2 :(得分:0)
SELECT
GROUP_CONCAT(CONCAT_WS(' ',`ID`,`SchoolName`) ORDER BY `ID` ASC SEPARATOR ' ') gre
FROM
tblstudents ;