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

MySQL con VB6

Estas en el tema de MySQL con VB6 en el foro de Mysql en Foros del Web. Saludos a todos, mi inquietud y duda es: ¿se puede poner condicionales en una expresión dentro de una consulta?. Por ejemplo: Código: SELECT ((SUM(cr_tventa)/SUM(cr_tcosto))-1)*100 AS ...
  #1 (permalink)  
Antiguo 21/12/2006, 09:41
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años
Puntos: 8
MySQL con VB6

Saludos a todos, mi inquietud y duda es: ¿se puede poner condicionales en una expresión dentro de una consulta?.

Por ejemplo:

Código:
SELECT ((SUM(cr_tventa)/SUM(cr_tcosto))-1)*100 AS summargen FROM proproducto
eso es lo que tengo actualmente, pero quisiera saber si es que puede hacer algo como:

Si cr_tventa es menor que cr_tcosto entonces ABS(SUM(cr_tventa)/SUM(cr_tcosto)), sino (SUM(cr_tventa)/SUM(cr_tcosto))

Espero que se me haya entendido.
__________________
El aprendiz.
  #2 (permalink)  
Antiguo 21/12/2006, 09:54
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
Re: MySQL con VB6

Hola,

Lee en la ayuda de MySQL:

http://dev.mysql.com/doc/refman/5.0/es/control-flow-functions.html

Saludos
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #3 (permalink)  
Antiguo 21/12/2006, 10:51
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Re: MySQL con VB6

Creo que valdría algo como esto

Código:
SELECT IF(	cr_tventa < cr_tcosto,

		ABS(SUM(cr_tventa)/SUM(cr_tcosto)), 
		(SUM(cr_tventa)/SUM(cr_tcosto))
	) as resultado FROM tabla
Un saludo
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
  #4 (permalink)  
Antiguo 22/12/2006, 08:58
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años
Puntos: 8
Re: MySQL con VB6

use lo que me dijiste, tambien cheke en la doc de MySQL pero me sale un error, me gustaria si es que pueden que le den un check a mi consulta, el error me sale en la parte del IF, despues del primer AS crd_margem.

Código:
CREATE VIEW proproducto AS SELECT 
A.cr_fechadoc AS cr_fechadoc,
A.cr_tienda AS cr_tienda, 
B.crd_cproducto AS crd_cproducto, 
B.crd_nproducto AS crd_nproducto, 
SUM(B.crd_cantidad) AS crd_cantidad, 
AVG(B.crd_precu) AS crd_precu, 
AVG(B.crd_precio) AS crd_precio, 
(AVG(B.crd_precu) * SUM(B.crd_cantidad)) AS cr_tcosto, 
(AVG(B.crd_precio) * SUM(B.crd_cantidad)) AS cr_tventa, 
IF (SUM(B.crd_precio) < SUM(B.crd_precu), (((AVG(B.crd_precu) / AVG(B.crd_precio))-1)) AS crd_margen, (ABS(((AVG(B.crd_precu) / AVG(B.crd_precio))-1))) AS crd_margen) 
FROM cuentasrecibir A, cuentasrecibirdetalle B 
WHERE A.cr_code = B.crd_code AND 
A.cr_fechadoc >= '" & Format(meFI, "yyyy-mm-dd") & "' AND A.cr_fechadoc <= '" & Format(meFF, "yyyy-mm-dd") & "' AND 
NOT (A.cr_estado='A') AND (A.cr_tienda = " & dtcTiendas.BoundText & ") 
GROUP BY B.crd_cproducto, B.crd_nproducto;
__________________
El aprendiz.
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:16.