Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   como hacer consulta para crear dos campos a partir de uno (https://www.clubdelphi.com/foros/showthread.php?t=62444)

Rom@n 23-12-2008 21:17:42

como hacer consulta para crear dos campos a partir de uno
 
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

Código SQL [-]
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 ya he resuelto mi problema
 
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.
  1. <LI style="FONT-WEIGHT: normal; COLOR: #3a6a8b; FONT-STYLE: normal; FONT-FAMILY: 'Courier New', Courier, monospace">[FONT='Courier New', Courier, monospace]SELECT[/font]
    <LI style="FONT-WEIGHT: bold; COLOR: #26536a">[FONT='Courier New', Courier, monospace]cuenta,[/font]
    <LI style="FONT-WEIGHT: normal; COLOR: #3a6a8b; FONT-STYLE: normal; FONT-FAMILY: 'Courier New', Courier, monospace">[FONT='Courier New', Courier, monospace]IIf(columna = valor1, 'valor 1', 'valor 2') AS Valores[/font]
  2. [FONT='Courier New', Courier, monospace]FROM tabla[/font]
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


La franja horaria es GMT +2. Ahora son las 19:22:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi