MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 19/02/08, 16:13:04
Avatar de Driau
Driau Driau is offline
Senior Member
 
Fecha de Ingreso: ago 2007
Mensajes: 235
INNER JOIN..lo tengo bién???

Hola a todos, estoy intentando realizar un INNER JOIN..pero nada.

Creo que no voy demasiado desencaminado. He puesto lo siguiente:

SELECT AUFNR PLNBEZ GAMNG GLTRS GSTRS
INTO CORRESPONDING FIELDS OF TABLE IT_AFKO
FROM AFKO
INNER JOIN M_MAT1T
ON M_MAT1T~MTART = 'ZACC'
WHERE GSTRS IN S_DATUM.


La intención es que me seleccione todos los campos de la 1a linea de la tabla AKFO y los meta en IT_AFKO siempre y cuando se cumpla que el tipo de material de cada OF (orden de fabricacion) se un ZACC y la fecha (contenida en la tabla AFKO) se encuentre dentro del rango s_datum.

Gracias a todos!
Responder Con Cita
  #2  
Viejo 19/02/08, 16:52:57
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola Driau, te comento sobre la sentencia Select con INNER JOIN, en "ON" es para comparar los 2 campos en comun entre las 2 tablas, y en WHERE viene las codiciones individuales

SELECT AUFNR PLNBEZ GAMNG GLTRS GSTRS
INTO CORRESPONDING FIELDS OF TABLE IT_AFKO
FROM AFKO
INNER JOIN M_MAT1T
ON M_MAT1T~campo1 = AFKO~campo1
AND M_MAT1T~campo2 = AFKO~campo2
WHERE AFKO~GSTRS IN S_DATUM
AND M_MAT1T~MTART = 'ZACC'.

Campo1 y Campo2 son 2 campos en comun que tienen esas 2 tablas x ejm, lo pongo asi xq no tengo acceso a SAP , espero te sirva ....
__________________
David Carballido Córdova
Responder Con Cita
  #3  
Viejo 19/02/08, 17:07:09
larmadovr larmadovr is offline
Member
 
Fecha de Ingreso: ene 2008
Localización: Monterrey N.L. México
Mensajes: 77
Thumbs up Que tal amigo:

Para hacer un inner join debes tener llaves con las cuales ligas las tablas. En el caso de M_MAT1T es una vista y no estoy seguro de que se pueda hacer la relación que quieres, por que no encuentro con que campo ligarla.

Te voy a pasar un ejemplo de un inner join:

SELECT mara~bismt
keko~werks
keko~kalnr
keko~matnr
keph~kst001
keph~kst002
keph~kst003
keph~kst004
keph~kst005
keph~kst006
keph~kst007
keph~kst008
keph~kst009
keph~kst010
keph~kkzst
makt~maktx
INTO TABLE ti_serv_costes
FROM keko INNER JOIN mara
ON keko~matnr EQ mara~matnr " Se ligan llave vs llave
INNER JOIN keph
ON keko~kalnr EQ keph~kalnr
INNER JOIN makt
ON keko~matnr EQ makt~matnr
WHERE mara~matnr IN s_matnr
AND keko~werks EQ p_centro
AND keph~kkzst EQ ''.

Dame más detalles para poder ayudarte.

Hay otras maneras de poder realizar ese trabajo. Pasame una descripcion del requerimiento que te pidieron. Yo estoy al pendiente para solucionarlo.

Saludos...
Responder Con Cita
  #4  
Viejo 19/02/08, 21:07:45
Avatar de bacha
bacha bacha is offline
Member
 
Fecha de Ingreso: dic 2007
Mensajes: 53
Compañero, te dejo un ejemplo de una consulta INNER JOIN entre dos tablas, si tienes alguna duda, me lo comentas


select spfli~countryfr spfli~cityfrom spfli~airpfrom spfli~countryto
spfli~cityto sflight~fldate sflight~price sflight~currency
sflight~planetype sflight~seatsmax sflight~seatsocc
into corresponding fields of table it_salida
from spfli
inner join sflight
on spfli~carrid = sflight~carrid
and spfli~connid = sflight~connid
where spfli~connid in connid
and spfli~carrid in carrid.


1. seleccionas los campos de las dos tablas... los que quieras obtener de ellas.

2. en tu tabla interna

3.de que tabla

4. con que otra tabla haras la relacion

5. que tus campos llaves sean iguales (depende la logiica, segun lo que quieras obtener)

6. y por ultimo que los campos que necesitas sean iguales a los de tu parameters o select-options.

Saludos.

Úlima edición por bacha fecha: 19/02/08 a las 21:13:51.
Responder Con Cita
  #5  
Viejo 19/02/08, 21:13:10
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola de nuevo, yo tambien te dejo uno con varias tablas .... ahi hay algo nuevo como una especie de etiqueta que se le coloca a una tabla .... mara AS a, afko AS b .... a y b harian el papel de mara y afko respectivamente para este ejem.

SELECT b~aufnr b~rsnum b~werks d~lgort a~rspos
a~matnr a~charg a~bdmng a~meins e~lgpla AS lgpla_d
INTO CORRESPONDING FIELDS OF TABLE gt_aufnr
FROM resb AS a INNER JOIN caufv AS b ON a~rsnum = b~rsnum
AND a~aufnr = b~aufnr
INNER JOIN rkpf AS c ON a~rsnum = c~rsnum
INNER JOIN afpo AS d ON a~aufnr = d~aufnr
INNER JOIN mlgt AS e ON a~matnr = e~matnr
INNER JOIN mara AS f ON a~matnr = f~matnr
WHERE b~aufnr IN s_aufnr
AND b~auart IN s_auart
AND b~gstrs IN s_gstrs
AND b~werks IN s_werks
AND d~lgort EQ p_lgort
AND d~posnr EQ c_posnr
AND a~kzear EQ space
AND a~charg NE space
AND a~bdmng NE space
AND e~lgnum EQ c_lgnum
AND e~lgtyp EQ c_100
AND f~mtart IN ('CONC','MPCL','BULK').

Espero tambien te sirva ...
__________________
David Carballido Córdova
Responder Con Cita
  #6  
Viejo 15/04/09, 17:32:20
golden_fbi golden_fbi is offline
Junior Member
 
Fecha de Ingreso: sep 2008
Mensajes: 17
Hola disculpa y si quisiera que me trajera otros campos de una tabla a la que se le hizo el inner join pero no tiene el mismo campo la otra tabla con la que se une? por ejemplo


alumnos con sus materias correspondientes.

- mi tabla panel asocia que alumnos van con que materias, nada mas tiene el campo de idalumno y idmateria.

-hago su inner join y cuando le doy a mi programa buscar, me encuentra que idalumno va con que idmateria.

-¿ pero como le hago para saber en esa misma busqued que aparte de que me despliegue que alumno va con que materia , tambien me saque el nombre del alumno y ese campo de alumno esta contendio en la tabla de alumno.?

Muchas gracias
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 20:03:31.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web