Transponeren van kolom naar rij (MySQL): verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Regel 26: | Regel 26: | ||
* [[Grouping (MySQL) | Grouping]] ligt voor de hand als oplossing, maar daabij wordt één variable gegenereerd met daarin meerdere veldname. Alles wordt dus in één veld gestopt | * [[Grouping (MySQL) | Grouping]] ligt voor de hand als oplossing, maar daabij wordt één variable gegenereerd met daarin meerdere veldname. Alles wordt dus in één veld gestopt | ||
− | * [[Grouping (MySQL) | Grouping]] + [[Explode (MySQL) | Explode]]. Nu worden de cellen gesplitst, maar belanden ze weer op verschillende rijen. | + | * [[Grouping (MySQL) | Grouping]] + [[Explode (MySQL) | Explode]]. Nu worden de cellen gesplitst, maar belanden ze weer op verschillende rijen |
+ | * ''Pivoting'' zoals in een ''pivot table'' is misschien een oplossing, maar ik wil eigenlijk niets doen met aggregeren van info. |
Versie van 8 jan 2016 19:28
Het probleem
Ik heb een lege tabel met zo'n 20 velden:
+--------+--------+--------+--------+ | Veld01 | Veld02 | ... | Veld20 | +--------+--------+--------+--------+
Ik wil de namen van die velden in het eerste record zetten, zodat je zoiets krijgt als
+--------+--------+--------+--------+ | Veld01 | Veld02 | ... | Veld20 | +--------+--------+--------+--------+ | Veld01 | Veld02 | ... | Veld20 | +--------+--------+--------+--------+
Achterhalen van de veldnamen is niet moeilijk. Bv.: create table tmp select column_name from information_schema.columns where table_name="tabelnaam";
.
Maar hoe krijg ik die namen nu op één rij?
Mogelijke oplossingen... Of toch niet
- Grouping ligt voor de hand als oplossing, maar daabij wordt één variable gegenereerd met daarin meerdere veldname. Alles wordt dus in één veld gestopt
- Grouping + Explode. Nu worden de cellen gesplitst, maar belanden ze weer op verschillende rijen
- Pivoting zoals in een pivot table is misschien een oplossing, maar ik wil eigenlijk niets doen met aggregeren van info.