Fügen Sie in MySQL mehrere Spalten basierend auf einer anderen Spalte stapelweise zur Tabelle hinzu
<p>Ich habe eine Tabelle mit drei Spalten.
Für jede ID haben wir bis zu 400 <code>index</code>-Werte. Ich möchte Spalten basierend auf der Anzahl der Indizes hinzufügen. In dem von mir bereitgestellten Beispiel habe ich vier Indizes und habe dann vier Spalten zur Tabelle hinzugefügt. Dies ist die Tabelle, die ich habe: </p>
<pre class="brush:php;toolbar:false;">Tabelle buy_sell erstellen (id int, idx varchar(255), sale float(2, 1));
in buy_sell (id, idx, sale) Werte einfügen ('1', 'a', '4');
in buy_sell (id, idx, sale) Werte einfügen ('1', 'b', '6');
in buy_sell (id, idx, sale) Werte einfügen ('1', 'c', '8');
in buy_sell (id, idx, sale) Werte einfügen ('1', 'd', '9');
in buy_sell (id, idx, sale) Werte einfügen ('3', 'b', '1');
in buy_sell (id, idx, sale) Werte einfügen ('3', 'c', '2');
in buy_sell (id, idx, sale) Werte einfügen ('2', 'a', '5');
in buy_sell (id, idx, sale) Werte einfügen ('2', 'b', '7');
in buy_sell (id, idx, sale) Werte einfügen ('2', 'd', '5');
SELECT * FROM buy_sell;</pre>
<p>Das ist das Ergebnis: </p>
<table class="s-table">
<thead>
<tr>
<th>id</th>
<th>idx</th>
<th>Zu verkaufen</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>a</td>
<td>4.0</td>
</tr>
<tr>
<td>1</td>
<td>b</td>
<td>6.0</td>
</tr>
<tr>
<td>1</td>
<td>c</td>
<td>8.0</td>
</tr>
<tr>
<td>1</td>
<td>d</td>
<td>9.0</td>
</tr>
<tr>
<td>3</td>
<td>b</td>
<td>1.0</td>
</tr>
<tr>
<td>3</td>
<td>c</td>
<td>2.0</td>
</tr>
<tr>
<td>2</td>
<td>a</td>
<td>5.0</td>
</tr>
<tr>
<td>2</td>
<td>b</td>
<td>7.0</td>
</tr>
<tr>
<td>2</td>
<td>d</td>
<td>5.0</td>
</tr>
</tbody>
</table>
<p>Für id=1 haben wir hier beispielsweise vier Indizes (a, b, c, d) und dann vier Spalten ungleich Null.Für id = 3 haben wir zwei Indizes (b, c) und dann zwei Spalten ungleich Null, also geben wir für die erste Spalte eine Null, für die zweite Spalte eine 1 und für die dritte Spalte eine 2 ein. Und so weiter und so fort. Dies ist die Tabelle, die ich möchte: </p>
<table class="s-table">
<thead>
<tr>
<th>id</th>
<th>1 verkaufen</th>
<th>2 verkaufen</th>
<th>3 verkaufen</th>
<th>4 verkaufen</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>4</td>
<td>6</td>
<td>8</td>
<td>9</td>
</tr>
<tr>
<td>3</td>
<td>0</td>
<td>1</td>
<td>2</td>
<td>0</td>
</tr>
<tr>
<td>2</td>
<td>5</td>
<td>7</td>
<td>0</td>
<td>5</td>
</tr>
</tbody>
</table>
<p>Ich habe viel gesucht und <code>Group_concat</code>, <code>JSON_ARRAYAGG</code> usw. ausprobiert, konnte aber keine Lösung finden. was muss ich tun? </p>