Transponeren van kolom naar rij (MySQL): verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Regel 1: | Regel 1: | ||
− | + | == Het probleem == | |
+ | |||
+ | Ik heb een lege tabel met zo'n 20 velden: | ||
<pre> | <pre> | ||
Regel 17: | Regel 19: | ||
</pre> | </pre> | ||
− | Achterhalen van de veldnamen is niet moeilijk. Bv.: < | + | Achterhalen van de veldnamen is niet moeilijk. Bv.: <code>create table tmp select column_name from information_schema.columns where table_name="tabelnaam";</code>. |
Maar hoe krijg ik die namen nu op één rij? | Maar hoe krijg ik die namen nu op één rij? | ||
+ | |||
+ | == Mogelijke oplossingen... Of toch niet == | ||
+ | |||
+ | * [[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. |
Versie van 8 jan 2016 17:27
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?