Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

consulta

Estas en el tema de consulta en el foro de Bases de Datos General en Foros del Web. Es posible pasar el siguiente codigo a una consulta sql? if({Customer.CustID}='D-0696') then ( IF ({CashDtl.TranType}='adjust' and {CashDtl.TranAmt}>0 and {InvcHead.CreditMemo}=true and ({InvcHead.InvoiceSuffix}='CM' or {InvcHead.InvoiceSuffix}='UR' )) then ...
  #1 (permalink)  
Antiguo 08/11/2010, 17:46
 
Fecha de Ingreso: agosto-2004
Mensajes: 71
Antigüedad: 19 años, 8 meses
Puntos: 0
consulta

Es posible pasar el siguiente codigo a una consulta sql?


if({Customer.CustID}='D-0696') then (
IF ({CashDtl.TranType}='adjust' and {CashDtl.TranAmt}>0 and {InvcHead.CreditMemo}=true and ({InvcHead.InvoiceSuffix}='CM' or {InvcHead.InvoiceSuffix}='UR' )) then (-1)*{CashDtl.TranAmt}
else IF ({CashDtl.TranType}='adjust' and {CashDtl.TranAmt}<0 and {InvcHead.CreditMemo}=true and ({InvcHead.InvoiceSuffix}='cm' or {InvcHead.InvoiceSuffix}='ur')) then abs({CashDtl.TranAmt})
else if({CashDtl.TranType}='ADJUST' and {CashDtl.TranAmt}<0 and {InvcHead.CreditMemo}=false) then abs({CashDtl.TranAmt})
else if({CashDtl.TranType}='ADJUST' and {CashDtl.TranAmt}>0 and {InvcHead.CreditMemo}=false) then (-1)*({CashDtl.TranAmt})
// else if ({CashDtl.TranType}='PayInv' and {CashDtl.TranAmt}<0 and {InvcHead.InvoiceSuffix}='UR') then {CashDtl.TranAmt}
else if ({CashDtl.TranType}='PayInv' and {CashDtl.TranAmt}>0 and {InvcHead.InvoiceSuffix}='') then {CashDtl.TranAmt}
else if ({CashDtl.TranType}='PayInv' and {InvcHead.CreditMemo}=true and {CashDtl.TranAmt}< 0 and ({InvcHead.InvoiceSuffix}='CM' or {InvcHead.InvoiceSuffix}='UR')) then {CashDtl.TranAmt}
else if({CashDtl.TranType}='CMemo' and {InvcHead.CreditMemo}=true and {CashDtl.TranAmt}>0 and ({InvcHead.InvoiceSuffix}='CM' or {InvcHead.InvoiceSuffix}='UR' )) then (-1)*{CashDtl.TranAmt}
else if({CashDtl.TranType}='CMemo' and {InvcHead.CreditMemo}=false and {CashDtl.TranAmt}<0) then abs({CashDtl.TranAmt}))
else if({CashDtl.Posted}=false) then 0
else IF ({CashDtl.TranType}='adjust' and {CashDtl.TranAmt}>0 and {InvcHead.CreditMemo}=true and ({InvcHead.InvoiceSuffix}='CM' or {InvcHead.InvoiceSuffix}='UR' )) then (-1)*{CashDtl.TranAmt}
else IF ({CashDtl.TranType}='adjust' and {CashDtl.TranAmt}<0 and {InvcHead.CreditMemo}=true and ({InvcHead.InvoiceSuffix}='cm' or {InvcHead.InvoiceSuffix}='ur')) then abs({CashDtl.TranAmt})
else if({CashDtl.TranType}='ADJUST' and {CashDtl.TranAmt}<0 and {InvcHead.CreditMemo}=false) then abs({CashDtl.TranAmt})
else if({CashDtl.TranType}='ADJUST' and {CashDtl.TranAmt}>0 and {InvcHead.CreditMemo}=false) then (-1)*({CashDtl.TranAmt})
// else if ({CashDtl.TranType}='PayInv' and {CashDtl.TranAmt}<0 and {InvcHead.InvoiceSuffix}='UR') then {CashDtl.TranAmt}
else if ({CashDtl.TranType}='PayInv' and {CashDtl.TranAmt}>0 and {InvcHead.InvoiceSuffix}='') then {CashDtl.TranAmt}
else if ({CashDtl.TranType}='PayInv' and {InvcHead.CreditMemo}=true and {CashDtl.TranAmt}< 0 and ({InvcHead.InvoiceSuffix}='CM' or {InvcHead.InvoiceSuffix}='UR')) then {CashDtl.TranAmt}
else if({CashDtl.TranType}='CMemo' and {InvcHead.CreditMemo}=true and {CashDtl.TranAmt}>0 and ({InvcHead.InvoiceSuffix}='CM' or {InvcHead.InvoiceSuffix}='UR' )) then (-1)*{CashDtl.TranAmt}
else if({CashDtl.TranType}='CMemo' and {InvcHead.CreditMemo}=false and {CashDtl.TranAmt}<0) then abs({CashDtl.TranAmt})
)

gracias
  #2 (permalink)  
Antiguo 08/11/2010, 19:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: consulta

Tal vez... si pudiésemos saber que demonios hace eso.

Mira: Eso es código de programación, o al menos lo parece. Es virtualmente imposible hacer ingeniería inversa para saber qué es lo que se supone que representa desde el momento en que no conocemos el entorno del sistema en que eso funciona.
Por qué no simplemente describes cómo son las fuentes de datos y qué se supone que deseas obtener de ellas.
De esa forma podrías tal vez entender cómo disñar una consulta que lo consiga.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 09/11/2010, 12:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: consulta

Cita:
buen día, el codigo que puese, simplemente toma los movimientos de cobro de facturas, pero por cada tipo de datos realiza una consideracion, para poder asignarle el signo.
Esto lo deberías haber posteado aquí y no como mensaje de visita.

El problema es que con eso no nos estás diciendo nada.
Para que eso se pueda transformar en una consulta SQL lo primero que necesitamos es conocer cómo están estructuradas las tablas en la base de datos, cómo se relacionan, y cuál es el resultado que quieres obtener, sea un SELETC, INSERT o UPDATE.


Postea por lo menos la estructura de las tablas involucradas con sus tipos de datos (el CREATE TABLE...).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 10/11/2010, 13:49
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: consulta

Se puede pasar a sql con este formato:

select
case when dato=condicion then codigo
when dato=otra cosa then esto
.
.
.
end as dato
from tabla

Pero no explicas mucho con todo el codigo que pones.

Saludos!

Etiquetas: bases-de-datos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:58.