¿Cómo puedo expandir una fila en un conjunto de resultados de múltiples filas?

Tengo una tabla en la que estoy tratando de dividir cada fila en una o más filas según el valor de la segunda columna. Me gusta esto:

table (id, pcs):
ABC   3
DEF   1
GHJ   4

query result (id, pcs_num):
ABC   1
ABC   2
ABC   3
DEF   1
GHJ   1
GHJ   2
GHJ   3
GHJ   4

Estoy escribiendo esto como un símbolo en SQL Server 2008. Mi mejor solución es usar un cursor y agregar el número de filas [pcs] a una tabla temporal para cada fila en la tabla. Parece que debe haber una solución más simple que esta que me estoy perdiendo. Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta