#1
|
|||
|
|||
Inner Join
Hola,
tengo una duda con este inner join, en la parte de: ON a~bukrs = b~bukrs AND a~kunnr = b~kunnr * AND a~gjahr = b~gjahr * AND a~blart = b~blart * AND a~budat = b~budat * AND a~gsber = b~gsber no se si debo añadir más o menos condiciones, no me filtra bien el parámetro de año: p_gjahr y no se el motivo. CLEAR it_bsid. REFRESH it_bsid. SELECT a~bukrs a~kunnr a~gjahr a~blart a~budat a~belnr a~xblnr a~gsber INTO TABLE it_bsid FROM bsid AS a INNER JOIN bsad AS b ON a~bukrs = b~bukrs AND a~kunnr = b~kunnr * AND a~gjahr = b~gjahr * AND a~blart = b~blart * AND a~budat = b~budat * AND a~gsber = b~gsber WHERE a~bukrs = p_bukrs * AND a~gjahr = p_gjahr AND a~blart IN s_blart AND a~budat IN s_budat AND a~kunnr IN rg_kunnr AND a~gsber IN s_gsber. Saludos y gracias, |
#2
|
|||
|
|||
No me hagas mucho caso, pero has probado a hacer el ON con los siguientes campos: BUKRS, KUNNR, UMSKS, UMSKZ, AUGDT, AUGBL, ZUONR, GJAHR, BELNR, BUZEI ? (Los que aparecen como clave en ambas tablas)
Saludos |
#3
|
|||
|
|||
Hola romario,
No se exactamente que es lo que pretendes obtener, pero yo he tomado tu ejemplo y he hecho algunos cambios que a lo mejor te ayudan, asi que aqui te los dejo. Ten encuenta que estas comparando partidas abiertas y partidas compensadas de clientes con lo que la seleccion de tantos campos iguales entre Bsid y Bsad no me paraece muy coherente. report zpruebatonijoin. tables: bsid, bsad. parameter: p_bukrs like bsid-bukrs, p_gjahr like bsid-gjahr. data: it_bsid type standard table of bsid with header line. clear it_bsid. refresh it_bsid. select a~bukrs a~kunnr a~gjahr a~blart a~budat a~belnr a~xblnr a~gsber into corresponding fields of table it_bsid from ( bsid as a inner join bsad as b on a~bukrs = b~bukrs *and a~kunnr = b~kunnr and a~gjahr = b~gjahr ) * and a~blart = b~blart * and a~budat = b~budat * and a~gsber = b~gsber ) where a~bukrs = p_bukrs and a~gjahr = p_gjahr. *and a~blart in s_blart *and a~budat in s_budat *and a~kunnr in rg_kunnr *and a~gsber in s_gsber. clear it_bsid. loop at it_bsid. write: / it_bsid-bukrs, it_bsid-kunnr. endloop. Espero que te haya podido ayudar. Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|