PDA

Ver la Versión Completa : Mandar numero de registros de un campo.


ximena251
20/08/14, 21:26:17
Buenas tardes.
Tengo éste select

SELECT estado
From zpv_contrato_ent
CLIENT SPECIFIED
INTO TABLE tl_contrato
WHERE mandt EQ sy-mandt
AND fecha_contrato >= p_datum
AND estado IN ('0','1')
GROUP BY estado.

Me piden que traiga en un fichero el dos renglones en donde me digan cuantos registros hay en 0 y cuantos en 1.

Ejemplo..
El campo estado tiene dos valores 0 y 1 ..o para signado y 1 para nuevo

al terminar de mostrar la lectura me tiene que mostrar así
Nuevos 15
Asignados 6

Podrían ayudarme con esto..el obtener cuantos registros con 0's y cuantos con 1's. Gracias de antemano.

vanesamacri
20/08/14, 23:47:05
Hola.

Se me ocurren dos maneras:

1.- Realizar dos consultas separadas, cada una consultando por un estado en particular, aplicando SELECT COUNT. Eso te va a devolver la cantidad de registros de base de datos que cumplen con la condición.

2.- Realizar una sola consulta (así como estás haciendo actualmente). La tabla interna resultado volcarla a una tabla interna auxiliar, borrar de esta última los registros de un estado y realizar un DESCRIBE TABLE ... LINES a la tabla resultante. Repetir para obtener el conteo de la cantidad de registros con el otro estado (u realizar la diferencia con la tabla interna original).

acesar
21/08/14, 11:18:34
En un solo Select con la opción UNION de Select...


Select COUNT( Estado ) as ... into... from .... Where Estado = 0
UNION
Select COUNT( Estado ) as ... into... from .... Where Estado = 1.


La otra seria

Select estado count( estado ) as ... into ... from ... group by estado.