PDA

Ver la Versión Completa : como hacer consulta para crear dos campos a partir de uno


Rom@n
23-12-2008, 21:17:42
un saludo amigos expertos
estoy haciendo un programa de punto de venta en delphi7 y access, y me gustaria saber de que manera puedo obtener dos campos como estos: "Cargos y Abonos", el valor de estos campos los tengo en una tabla donde existe un campo que se llama importe donde cada importe tiene su naturaleza ya sea cargo o abono, me refiero al modulo de cuentas por cobrar.

un ejemplo de mi consulta:

SELECT id_cxc, (select importe from tab_detalle_cxc where nat_cxc=1 and id_cxc=10) AS cargos, (select importe from tab_detalle_cxc where nat_cxc=2 and id_cxc=10) AS abonos
FROM tab_detalle_cxc
WHERE id_cxc=10;


no se que le falta a la consulta pero creo que por ahi es la solucion

espero haber sido claro
gracias muchas gracias

ContraVeneno
23-12-2008, 22:40:09
Select Nat_cxc as Naturaleza,
Case when Nat_CXC = 1 then Cast(Importe as money) else 0 end Cargos,
Case when Nat_CXC = 2 then Cast(Importe as money) else 0 end Abonos
From CXC
Where ID_CXC = 10

Rom@n
24-12-2008, 17:56:37
Gracias por tu respuesta la verdad me ayudo mucho, pero no era posible aplicar esa consulta en access, al parecer no funciona, pero en fin esta consulta es la que necesitaba, la pongo por si alguien tiene el mismo problema.

<LI style="FONT-WEIGHT: normal; COLOR: #3a6a8b; FONT-STYLE: normal; FONT-FAMILY: 'Courier New', Courier, monospace">SELECT
<LI style="FONT-WEIGHT: bold; COLOR: #26536a">cuenta,
<LI style="FONT-WEIGHT: normal; COLOR: #3a6a8b; FONT-STYLE: normal; FONT-FAMILY: 'Courier New', Courier, monospace">IIf(columna = valor1, 'valor 1', 'valor 2') AS Valores
FROM tabla

SELECT nat_cxc as naturaleza,
IIf(nat_cxc = 1,importe, 0) AS Cargos,IIf(nat_cxc = 2,importe, 0) AS Abonos
FROM tab_detalle_cxc
where id_cxc=10