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 15/04/09, 14:42:28
golden_fbi golden_fbi is offline
Junior Member
 
Fecha de Ingreso: sep 2008
Mensajes: 17
Arrow Unir varias tablas usando los campos requeridos

Hola! Disculpen queria unir 5 tablas en 1 sola que es del tipo de tooodas las 5 tablas con casi todos sus campos. La tabla que asocia esas tablas y tiene las llaves es la de "zgdctt_panel" y le hago un inner join, si busca y encuentra los datos pero solamente me trae los campos que tiene la tabla "zgdctt_panel" y no me trae los otros campos que quiero de las otras 5 tablas.. Como le puedo hacer??

Este es mi codigo:

SELECT
zgdctt_Leader~fname zgdctt_Leader~lname zgdctt_Leader~ACTIVE ZGDCTT_LEADER~IDLEADER
zgdctt_Member~fname zgdctt_Member~lname zgdctt_Member~FACTLOCATION zgdctt_Member~ACTIVE ZGDCTT_MEMBER~IDMEMBER
ZGDCTT_ASSIGN~IDASSIGN
zgdctt_dvlpmnt~DEVTYP zgdctt_dvlpmnt~DESC_DVLPMNT
zgdctt_rqrmnt~DESCRQRMNT ZGDCTT_RQRMNT~IDRQRMNT
ZgDCTT_PANEL~PANELDATE ZGDCTT_PANEL~PANELDATE2

FROM ZgDCTT_PANEL

inner join ZGDCTT_MEMBER on ZgDCTT_PANEL~IDMEMBER = ZGDCTT_MEMBER~IDMEMBER
inner join ZGDCTT_LEADER on ZGDCTT_LEADER~IDLEADER = ZgDCTT_PANEL~IDLeader
inner join ZGDCTT_RQRMNT on ZGDCTT_RQRMNT~IDRQRMNT = ZgDCTT_PANEL~IDRQRMNT
inner join ZGDCTT_ASSIGN on ZGDCTT_ASSIGN~IDASSIGN = ZgDCTT_PANEL~IDASSIGN
inner join ZGDCTT_dvlpmnt on ZGDCTT_dvlpmnt~DEVTYP = ZgDCTT_PANEL~DEVTYP

INTO CORRESPONDING FIELDS OF TABLE TG_bseg
** TABLA = VALOR DEL CAMPO
*INTO CORRESPONDING FIELDS OF TABLE TG_bseg

WHERE
ZgDCTT_PANEL~IDLEADER = ZGDCTT_LEADER-IDLEADER
OR ZGDCTT_PANEL~IDMEMBER = ZGDCTT_MEMBER-IDMEMBER
OR ZgDCTT_PANEL~IDASSIGN = ZGDCTT_ASSIGN-IDASSIGN
OR ZgDCTT_PANEL~DEVTYP = ZGDCTT_DVLPMNT-DEVTYP
OR ZgDCTT_PANEL~IDRQRMNT = ZGDCTT_RQRMNT-IDRQRMNT
OR ZgDCTT_PANEL~PANELDATE = ZGDCTT_PANEL-PANELDATE.

MOVE-CORRESPONDING ZGDCTT_PANEL TO TG_BSEG.
COLLECT TG_BSEG.


Muchas gracias!!!
Atte
Moni
Responder Con Cita
  #2  
Viejo 15/04/09, 15:41:51
jcflores jcflores is offline
Member
 
Fecha de Ingreso: mar 2006
Localización: Santiago de Chile
Mensajes: 55
Estimado:

No ha intentado en hacer
Select *
From Tabla
Where Condición

Y luego hacer un For All Entries para las siguientes tablas, y al final mover los registros a una super tabla.

Saludos.
Responder Con Cita
  #3  
Viejo 15/04/09, 16:38:28
Atlas Atlas is offline
Senior Member
 
Fecha de Ingreso: ago 2007
Mensajes: 107
Prueba a poner al reves el "on" a estas dos tablas:

inner join ZGDCTT_MEMBER on ZgDCTT_PANEL~IDMEMBER = ZGDCTT_MEMBER~IDMEMBER
Responder Con Cita
  #4  
Viejo 15/04/09, 17:03:37
golden_fbi golden_fbi is offline
Junior Member
 
Fecha de Ingreso: sep 2008
Mensajes: 17
Gracias por los consejos, pero el problema esque no me aparecen todos los campos que quiero solamente los campos de la tabla panel (la que asocia a las otras 5) como le puedo hacer para que me traiga los demas campos de las otras tablas que corespondan a su id. (el id de cada tabla esta en el panel y esos son los que si me trae)


por ejemplo, Me trae el numero del miembro pero yo quisiera que tambien me trajera su nombre y apellido

gracias!!!
Responder Con Cita
  #5  
Viejo 15/04/09, 18:54:41
Atlas Atlas is offline
Senior Member
 
Fecha de Ingreso: ago 2007
Mensajes: 107
aparentemente el join esta bien, la única explicacion que le veo es que los campos que seleccionas no se llamen igual que los campos de la tabla interna a la que quieres volcarlos ( esto es necesario para el intocorresponding) si es el caso prueba a hacer un selecto into table, si los campos que seleccionas se corresponden en el tipo, longitud y orden con los de la tabla interna o si no es así hacindo un :

select campo1 campo2 .... campon into (campo1_bis, campo2_bis... campon_bis)
Responder Con Cita
  #6  
Viejo 16/04/09, 16:39:33
golden_fbi golden_fbi is offline
Junior Member
 
Fecha de Ingreso: sep 2008
Mensajes: 17
Gracias, Ya Vi Que Los Nombres De Los Campos De Las Tablas No Concordaban Con Los De Mi Tabla Interna, Lo Corregi En El Select Con Un As Y Un Into Table...
Responder Con Cita
  #7  
Viejo 16/04/09, 17:05:35
Avatar de Rodolfo Montiel Rivera
Rodolfo Montiel Rivera Rodolfo Montiel Rivera is offline
Member
 
Fecha de Ingreso: oct 2007
Mensajes: 92
2 Consejitos

Saludos,

* Creo que también debes tomar en cuanto cual va a ser tu tabla llave y partir de que los datos que vas a ir a conseguir de otras tablas son campos que pueden o no existir.

* También podrías incluir left outer join para casos en los cuales no exista la relación con tu campo llave y asi no discriminar el registro por completo.
__________________
01010000
01001010
10011000
10100001

De Byte a Beat.
Responder Con Cita
  #8  
Viejo 16/04/09, 17:29:46
sconoredhot sconoredhot is offline
Senior Member
 
Fecha de Ingreso: feb 2008
Localización: Argentina, Rosario
Mensajes: 341
Smile For all entries

Hola,

Yo intentaría con hacer selects a las tablas requeridas usando el for all entries, es más consistente.

Saludos,
__________________
Sebas

Desarrollador ABAP.
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 22:36:13.


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