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

consulta para MSHflex en Visual Basic

Estas en el tema de consulta para MSHflex en Visual Basic en el foro de Mysql en Foros del Web. buenas tardes tengo un pequeño problema bueno unos muy grande tengo que hacer una comparacion de dos campos para que me arroje resultados numericos y ...
  #1 (permalink)  
Antiguo 28/04/2011, 10:40
 
Fecha de Ingreso: abril-2011
Ubicación: Edo. de Mexico
Mensajes: 5
Antigüedad: 13 años
Puntos: 0
consulta para MSHflex en Visual Basic

buenas tardes

tengo un pequeño problema bueno unos muy grande

tengo que hacer una comparacion de dos campos para que me arroje resultados numericos y poder colocarlos en un MSHFlex segun el que sea mayor ya me hace la comparacion pero solo me arroja 0 y 1 lo estube leyendo y creeo que la comparacion solo hace eso alguna idea de como le puedo hacer, la verdad es que en base de datos no soy muy diestra alguna opinion me serviria de mucho.


nota: tengo que hacer esa comparacion para poder pasarla a mi MSHFlex, segun el numero mayor la coloca en diferente columna.....

o un consejo de como poder hacerlo.......

de antemano muchas gracias
  #2 (permalink)  
Antiguo 28/04/2011, 18:50
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, 4 meses
Puntos: 2658
Respuesta: consulta para MSHflex en Visual Basic

Cita:
tengo que hacer una comparacion de dos campos para que me arroje resultados numericos y poder colocarlos en un MSHFlex segun el que sea mayor ya me hace la comparacion pero solo me arroja 0 y 1 lo estube leyendo y creeo que la comparacion solo hace eso alguna idea de como le puedo hacer, la verdad es que en base de datos no soy muy diestra alguna opinion me serviria de mucho.
Una comparación es una operación lógica, y toda operación lógica devuelve verdadero (TRUE) o falso (FALSE). En los lenguajes de programación, esto se traduce en 1 (True) y 0 (False), porque una computadora sólo comprende números. El SQL hace lo mismo: Toda comparación devuelve un TRUE o FALSE matemático, es decir, 1 ó 0.
Eso es para que comprendas por qué te devuelve lo que te devuelve.
Yendo a tu problema, si la comparación que buscas no se hace en el SELECT, sino en el WHERE. y si quieres que te devuelva registros completos, la cosa es simple:
Código MySQL:
Ver original
  1. FROM tabla
  2. WHERE campo1>campo2;
Pero si la cosa es que te devuelva el campo que posee el mayor valor, se deben usar funciones de MySQL y resolver:
Código MySQL:
Ver original
  1. SELECT IF(campo1>campo2 , campo1, campo2) ValorMayor
  2. FROM tabla;
Si quieres otras alternativas, será mejor que des más detalles sobre las tablas y acerca de qué tipos de datos estas comparando.

Tip final: Para nosotros, a nivel de bases de datos, si el resultado lo vas a usar en un MSHFlex, en un DataGrid o en un ListView es absolutamente irrelvante. Eso es programación. Acá la cosa es sólo SQL.
__________________
¿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 28/04/2011, 20:44
 
Fecha de Ingreso: abril-2011
Ubicación: Edo. de Mexico
Mensajes: 5
Antigüedad: 13 años
Puntos: 0
Respuesta: consulta para MSHflex en Visual Basic

sip mira ya trate de hacer las dos cosas que me dices sin embargo me marca error voy a detallar mas mi duda.

estoy haciendo un modulo de contabilidad en el cual tengo una tabla la cual es:

rayadodiario (la cual es para el rayado diario) y de esa misma tabla hago consultas para elaborar mi libro mayor: las estoy agrupando por clave estoy sumando los campos debe y haber para despues compararlos si el campo de debe es mayor entonces que salga la cantidad si el campo haber es mayor que arroje la cantidad.

esta es mi consulta

select cveRayado, cveEjercicio, cveGralCta, descCta, sum(dDiario), sum(hDiario), abs((sum(dDiario)-sum(hDiario))), sum(dDiario)>sum(hDiario) from rayadodiario GROUP BY cveGralCta;



lo que no me sale es que en lugar que me arroje 1 o 0 me arroje la cantidad

los campos que estoy conparando son double

y sip lo de menos es lo del MSHFlex gracias por el tip y por darte el tiempo de ayudarme muchas gracias!!!!!!!!!!! espero me puedan ayudar ya que no se como hacerle
NOTA: si esta bien con esa informacion, que estoy poniendo ?????

muchas gracias por el tiempo invertido........
  #4 (permalink)  
Antiguo 29/04/2011, 15:03
 
Fecha de Ingreso: abril-2011
Ubicación: Edo. de Mexico
Mensajes: 5
Antigüedad: 13 años
Puntos: 0
Respuesta: consulta para MSHflex en Visual Basic

bueno porfin me salio ayer en la noche

les dejo la consulta
por si algien la requiere

Código:
select case sum(dDiario)>sum(hDiario)
when 0 then abs(sum(dDiario)-sum(hDiario))= null
when 1 then abs(sum(dDiario)-sum(hDiario)) end total 
from rayadodiario 
group by cveGralCta;


gracias por su tiempo :)

Etiquetas: basic, visual
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 02:59.