1
Programación ABAP / Re: INNER JOIN
« en: 24 de Octubre de 2007, 09:34:17 am »
BUENO LO HE RESUELTO PERO SIN PODR UTILIZAR TABLAS INTERNAS Y ESO ES LO QUE ME MOLESTA.
SOLUCION:
REPORT ZMENDRUZCO.
TABLES: ZTRABAJO,
ZEMPLEADO,
ZPROYECTO.
DATA: COUNT TYPE I.
DATA: DNI LIKE ZTRABAJO-DNI_EMPLEADO,
NAME LIKE ZEMPLEADO-NOMBRE,
ID LIKE ZTRABAJO-ID_PROYECTO.
SELECT
ZTRABAJO~DNI_EMPLEADO
ZEMPLEADO~NOMBRE
COUNT(*)
INTO (DNI, NAME, COUNT)
FROM ZTRABAJO
JOIN ZPROYECTO ON ZTRABAJO~ID_PROYECTO = ZPROYECTO~ID_PROYECTO
JOIN ZEMPLEADO ON ZTRABAJO~DNI_EMPLEADO = ZEMPLEADO~DNI_EMPLEADO
WHERE
ZPROYECTO~HORAS > 20
GROUP BY ZTRABAJO~DNI_EMPLEADO ZEMPLEADO~NOMBRE.
WRITE: / DNI, NAME, COUNT.
ENDSELECT.
SOLUCION:
REPORT ZMENDRUZCO.
TABLES: ZTRABAJO,
ZEMPLEADO,
ZPROYECTO.
DATA: COUNT TYPE I.
DATA: DNI LIKE ZTRABAJO-DNI_EMPLEADO,
NAME LIKE ZEMPLEADO-NOMBRE,
ID LIKE ZTRABAJO-ID_PROYECTO.
SELECT
ZTRABAJO~DNI_EMPLEADO
ZEMPLEADO~NOMBRE
COUNT(*)
INTO (DNI, NAME, COUNT)
FROM ZTRABAJO
JOIN ZPROYECTO ON ZTRABAJO~ID_PROYECTO = ZPROYECTO~ID_PROYECTO
JOIN ZEMPLEADO ON ZTRABAJO~DNI_EMPLEADO = ZEMPLEADO~DNI_EMPLEADO
WHERE
ZPROYECTO~HORAS > 20
GROUP BY ZTRABAJO~DNI_EMPLEADO ZEMPLEADO~NOMBRE.
WRITE: / DNI, NAME, COUNT.
ENDSELECT.