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

estructurar consulta, el regreso

Estas en el tema de estructurar consulta, el regreso en el foro de Bases de Datos General en Foros del Web. bueno esta es otra consultita que me tiene medio aproblemado, ojala puedan ayudarme bueno esta consulta debe devolver 4 campos: operacion cargo abono estado tabla: ...
  #1 (permalink)  
Antiguo 05/09/2004, 11:46
 
Fecha de Ingreso: junio-2004
Mensajes: 76
Antigüedad: 19 años, 10 meses
Puntos: 0
estructurar consulta, el regreso

bueno esta es otra consultita que me tiene medio aproblemado, ojala puedan ayudarme

bueno esta consulta debe devolver 4 campos:
operacion
cargo
abono
estado
tabla: operaciones
cargo y abono no son campos existentes en la tabla

cargo se obtiene asi: select monto from operaciones where estado2='cartera'

abono se obtiene asi: select where from operaciones estado2='aclarado' or 'deposito' or 'protestado or 'prorroga'

por ejemplo tendria ke kedar asi :

operacion---------cargo--------------abono--------estado

1----------------20.000---------------------------CARTERA
2----------------15.000---------------------------CARTERA
3------------------------------------25.000-------ACLARADO
4------------------------------------80.000-------DEPOSITO


Espero se entienda

Última edición por Guachalin; 06/09/2004 a las 11:39
  #2 (permalink)  
Antiguo 06/09/2004, 01:47
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola,
intenta explicarte mejor, ya que no entiendo lo que quieres obtener, por que no explicas con palabras la consulta que quieres realizar, y si no es mucho pedir, pon tambien las tablas de las que quieres obtener los datos, ok?

un saludo,
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
  #3 (permalink)  
Antiguo 06/09/2004, 04:49
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Salvo que los datos a obtener estén en más de una tabla, la consulta sería así:
Código:
select operacion, cargo, abono, estado
from tabla
where estado2 in ('cartera', 'aclarado', 'deposito', 'protestado', 'prorroga')
Un saludo.
  #4 (permalink)  
Antiguo 06/09/2004, 05:03
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 1 mes
Puntos: 0
Hay dos formas

Opción 1

SELECT operacion, cargo, null as abono, estado WHERE estado = 'cartera'
UNION
SELECT operacion, null as cargo, abono, estado WHERE estado2='aclarado' or estado2='deposito' or estado2='protestado or estado2='prorroga'
ORDER BY Operacion

Opción 2

SELECT operacion, case estado2 when 'cartera' then cargo else null end as cargo, case estado2 when 'aclarado' then abono, when 'deposito' then abono when 'protestado then abono when 'prorroga' then abono ELSE Null END as abono, estado
ORDER BY Operacion

bueno, puede que la segunda neceiste algún retoque

Un saludo
  #5 (permalink)  
Antiguo 06/09/2004, 11:25
 
Fecha de Ingreso: junio-2004
Mensajes: 76
Antigüedad: 19 años, 10 meses
Puntos: 0
todo esto en una misma tabla, no se que mas decir, los criterios estan dados, tratarare de editar el primer post
  #6 (permalink)  
Antiguo 06/09/2004, 13:52
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 3 meses
Puntos: 1
Talvez este post te ayude.

http://www.forosdelweb.com/f21/consulta-ke-esta-volviendo-loko-226565/

Saludes
__________________
Leer es Saber, REEL.
Mi Blog
  #7 (permalink)  
Antiguo 06/09/2004, 14:33
 
Fecha de Ingreso: junio-2004
Mensajes: 76
Antigüedad: 19 años, 10 meses
Puntos: 0
Gracias Reel, mi consulta quedo asi y funcionando:

SELECT Operacion,(CASE Estado WHEN 'cartera' THEN monto ELSE 0 END) AS Cargo,
(CASE Estado WHEN 'deposito' THEN monto ELSE 0 END) AS Abono,estado
FROM operaciones
order by estado


... tres deditos te ganaste

Última edición por Guachalin; 07/09/2004 a las 10:41
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 11:58.