SQL: repite una fila de resultados varias veces y numera las filas

Tengo una consulta SQL con un resultado como este:

<code>value | count
------+------
foo   |     1
bar   |     3
baz   |     2
</code>

Ahora quiero expandir esto para que cada fila con uncount más grande que 1 ocurre varias veces. También necesito que estas filas estén numeradas. Así que obtendría:

<code>value | count | index
------+-------+------
foo   |     1 |     1
bar   |     3 |     1
bar   |     3 |     2
bar   |     3 |     3
baz   |     2 |     1
baz   |     2 |     2
</code>

Tengo que hacer este trabajo en todas las bases de datos principales (Oracle, SQL Server, MySQL, PostgreSQL y tal vez más). Por lo tanto, una solución que funcione en diferentes bases de datos sería ideal, pero se aprecian formas inteligentes de hacerlo funcionar en cualquier base de datos.

Respuestas a la pregunta(9)

Su respuesta a la pregunta