ピボットなしで mysql クエリの行を列に変換する方法。次のようなテーブルスキーマがあります
***********************
ID SchoolName
1 JV
2 SDH
***********************
これを次のように転置したかった
**1 JV 2 SDH**
ピボットを試しましたが、代替手段を見つける必要があります。助けてください。
最後のコメントに基づいても、何を達成しようとしているのかはまだ不明であり、実際には探している正確な答えを得ることができません.
国テーブルを転置して単一の行として表示する必要がある場合は、動的 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;
出力:
| | インド | インド | アメリカ合衆国 | ブラジル | ------------------------ | | 1 | 2 | 3 |
これがSQLFiddleのデモです
SELECT GROUP_CONCAT(CONCAT(ID, ' ', SchoolName) SEPARATOR ' ') AS OUTPUT
FROM YourTable