Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Ayuda con una query utilizando el UNION ALL

Jovenes experto tengo el siguiente problema necesito realizar un query en donde me refleje el movimiento de 6 cuentas bancarias en forma resumida, yo habia pensado en utilizar el JDT1 ya que ahi estan los movimiento, claro con DSC1 que es en donde estan almacenas las cuentas bancaria y el nombre del banco y claro otras tablas para que pueda visualizar la informacion.

Hice una query sencilla con todas las tablas implicadas y me da la informacion imcompleta solo me muestra el movimiento de 2 bancos y hasta donde revise deverian de ser 3 los que tienen movimiento en un rango de fecha.

El query es

 SELECT T2.[Account], T0.[RefDate], T0.[TransId],T0.[Ref2],  T0.[LineMemo], 
	   T0.[Credit], T0.[Debit], T1.[CurrTotal], T2.AcctName, T2.Account
FROM JDT1 T0 INNER JOIN OACT T1 
	 ON T0.Account = T1.AcctCode INNER JOIN DSC1 T2 
	 ON T1.AcctCode = T2.GLAccount INNER JOIN OVPM T3 
	 ON T1.AcctCode = T3.CashAcct INNER JOIN ODPS T4
	 ON T1.AcctCode = T4.BanckAcct INNER JOIN OJDT T5 
	 ON T0.TransId = T5.TransId 
WHERE T0.[RefDate] >= '20110513' AND  T0.[RefDate] <= '20110513'
GROUP BY T2.[Account], T0.[RefDate], T0.[TransId],T0.[Ref2],  T0.[LineMemo], 
		 T0.[Credit], T0.[Debit], T1.[CurrTotal], T2.AcctName, T2.Account 

Como no me funciono pense en utilizar el UNION ALL y en el where le agregue un campo en donde me diferencia por medio de banco pero no funciono, me desplego solo los movimiento de banco llamado Vivibanco Monetario

La query es

SELECT T2.[Account], T0.[RefDate], T0.[TransId],T0.[Ref2],  T0.[LineMemo], 
	   T0.[Credit], T0.[Debit], T1.[CurrTotal], T2.AcctName, T2.Account
FROM JDT1 T0 INNER JOIN OACT T1 
	 ON T0.Account = T1.AcctCode INNER JOIN DSC1 T2 
	 ON T1.AcctCode = T2.GLAccount INNER JOIN OVPM T3 
	 ON T1.AcctCode = T3.CashAcct INNER JOIN ODPS T4
	 ON T1.AcctCode = T4.BanckAcct INNER JOIN OJDT T5 
	 ON T0.TransId = T5.TransId 
WHERE T0.[RefDate] >= '20110501' AND  T0.[RefDate] <= '20110513' AND  T2.[AcctName]  ='Vivibanco Monetario' 

union all

SELECT T2.[Account], T0.[RefDate], T0.[TransId],T0.[Ref2],  T0.[LineMemo], 
	   T0.[Credit], T0.[Debit], T1.[CurrTotal], T2.AcctName, T2.Account
FROM JDT1 T0 INNER JOIN OACT T1 
	 ON T0.Account = T1.AcctCode INNER JOIN DSC1 T2 
	 ON T1.AcctCode = T2.GLAccount INNER JOIN OVPM T3 
	 ON T1.AcctCode = T3.CashAcct INNER JOIN ODPS T4
	 ON T1.AcctCode = T4.BanckAcct INNER JOIN OJDT T5 
	 ON T0.TransId = T5.TransId 
WHERE T0.[RefDate] >= '20110513' AND  T0.[RefDate] <= '20110513' AND  T2.[AcctName]  ='G&T ADMINISTRACION' 
GROUP BY T2.[Account], T0.[RefDate], T0.[TransId],T0.[Ref2],  T0.[LineMemo], 
		 T0.[Credit], T0.[Debit], T1.[CurrTotal], T2.AcctName, T2.Account

Espero me haya dado a entender y si me pudiera ayudar se los agradeceri bastante, y disculpen las molestas dado que no soy muy habil con el SQL.

Saludos cordiales

Former Member
Former Member replied

Pruabla asi

SELECT T0.[Account], T0.[RefDate], T0.[TransId], T0.[Ref2], T0.[LineMemo], T0.[Credit], T0.[Debit], T1.[CurrTotal], T2.[AcctName], T2.[Account] 
FROM [dbo].[JDT1]  T0 
INNER JOIN [dbo].[OACT]  T1 ON T0.Account = T1.AcctCode 
INNER JOIN [dbo].[DSC1]  T2 ON T2.GLAccount = T1.AcctCode
WHERE T0.RefDate BETWEEN '[%0]' AND '[%1]'

Slds

0 View this answer in context
Not what you were looking for? View more on this topic or Ask a question