Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

consulta sql complicada

Estas en el tema de consulta sql complicada en el foro de Visual Basic clásico en Foros del Web. buenos dias comunidad programadora..... debo hacer una consulta sql par filtrar datos pero es un poco complicada.... y la sintaxis no la puedo figurar. se ...
  #1 (permalink)  
Antiguo 14/07/2011, 07:23
Avatar de ARGFA  
Fecha de Ingreso: noviembre-2009
Ubicación: Ciudad Guayana, Venezuela
Mensajes: 55
Antigüedad: 14 años, 5 meses
Puntos: 0
consulta sql complicada

buenos dias comunidad programadora.....
debo hacer una consulta sql par filtrar datos pero es un poco complicada.... y la sintaxis no la puedo figurar.

se las voy a poner como una formula matematica para que puedan entenderla mejor.

necesito todos los valores de "A" donde:
(A="CVG" y ((A<>0)ó(B<>-1))

y otro detalle es que "CVG" se encuentra en una tabla "C" y el otro par de condiciones (A<>0)ó(B<>-1) se encuentra en una tabla "D".

si no se puede hacer todo en una sola consulta, cual seria la mejor solucion para hacerlo por partes?

otra forma de explicarselos muchachos es esta:

seleccionar los "numeros de pagos" donde OBSERVACION=CVG AND (monto<>0 OR anulado<>-1)

OBSERVACION se ecnuentra en una tabla llamada "docum" y MONTO, ANULADO en una tabla llamada "pagos"

el campo clave por supuesto es numero de pagos

lo mas practico seria hacerlo todo en una sola consulta... pero ni idea de la sintaxis sql.

lo que estaba pensando correr estos filtros primero (monto<>0 OR anulado<>-1) y luego en otra consulta el filtro de OBSERVACION=CVG

pero eso seria el camino facil y mas tiempo de procesamiento a la hora de ejcutar.....


eso es todo.....

GRACIAS POR SU TIEMPO....

Última edición por ARGFA; 14/07/2011 a las 08:17
  #2 (permalink)  
Antiguo 14/07/2011, 10:04
Avatar de ARGFA  
Fecha de Ingreso: noviembre-2009
Ubicación: Ciudad Guayana, Venezuela
Mensajes: 55
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: consulta sql complicada

buenas..... logre obtener el resultado deseado pero con el unico detalle que tarda una eternidad a la hora de cargar.....aqui les anexo el codifgo..... lo que intento es cargar un listbox con ciertos numeros de pagos que tienen que cumplir varias condiciones....

Código vb:
Ver original
  1. 'lleno la lista con todos los pagos que estan almacenados en la base de datos
  2. 'tomando en cuenta los diferentes filtros
  3. Set rslista = myconn.Execute(" SELECT * FROM dbo_pagos WHERE monto <>" & 0 & " AND anulado <>" & -1 & " ")
  4.     Do Until rslista.EOF
  5.         Set rsnumdoc = myconn.Execute("SELECT doc_num FROM  dbo_reng_pag WHERE cob_num =" & rslista!cob_num) '& " AND tp_doc_cob = 'FACT' ")
  6.            Set rsobserva = myconn.Execute("SELECT observa FROM dbo_docum_cp WHERE nro_doc =" & rsnumdoc!doc_num)
  7.                 observacion = rsobserva!observa
  8.                 observacion = Left(observacion, 37)
  9.                 If observacion = "CORPORACION VENEZOLANA DE GUAYANA CVG" Then
  10.                     List1.AddItem rslista!cob_num
  11.                 End If
  12.         rslista.MoveNext
  13.     Loop

debe haber una manera mas sotisficada de hacer lo mismo sin tener que realizar tantas consultas sql.... creo que asi no se tardaria una eternidad en cargar el listbox...

gracias por su tiempo..... cualquier ayuda se las agradecere....

p.d. son casi 6mil registros que tiene que recorrer...

Etiquetas: sql, tabla
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 19:32.