Campo calculado en consulta de SQL en Access

Yo de nuevo molestandole... Esta ves me encuentro con un problema que es probable lo este planteando mal y por ello la respuesta que visiono no sea posible, espero me pueda ayudar, me explico...
Deseo una consulta como sigue:
FldCantidad--°--fldImporte--°--fldTipo--°--Total
2--°--5--°--P--°--5
3--°--2--°--C--°--6
Donde Total es un campo calculado como sigue:
Si fldTipo = P entonces fldImporte
Si fldTipo = C entonces fldCantidad *fldImporte
¿Cómo seria la consulta para ese campo calculado? Es que he investigado en todos lados y no encuentro como hacerlo.
Como siempre, te agradezco mucho por tu tiempo y por tu deseo de compartir tu conocimiento.

1 respuesta

Respuesta
1
¿Carlos cómo estas?
Si se puede hacer lo que dices tienes que hacer un case en tu consulta si solo son dos tipos te quedaría así:
select fldCantidad,fldImporte,fldTipo,Total=Case when FldTipo='P' then fldImporte else fldImporte*fldCantidad end From TuTAbla
en caso que sean mas tipos tendrias que poner en el else otro case (uno para cada tipo)
select fldCantidad,fldImporte,fldTipo,Total=Case when FldTipo='P' then fldImporte else
(case when FldTipo='C' then fldImporte*fldCantidad else (otro case de ser necesario) end) end From TuTAbla
no debes olvidar poner un end para cada case.
te dejo esta liga para que veas la sintaxis http://docentes.uacj.mx/jpaz/W_SQL/tsqlref9_web/html/658039ec-8dc2-4251-bc82-30ea23708cee.htm
Estimado morenesi, nuevamente me sorprendes, la verdad es que no he probado tu respuesta en SQL de Access, pero debo decirte que me parece maravillosa, apenas llegue a casa le echo un ojo, pero también debo decirte que he encontrado una función bastante interesante, aunque su debilidad es la cantidad de indices (29) que puede contener y de que como pivote utiliza unicamente números, la función se llama Choose, y para los que lleguen hasta aquí buscando soluciones para problemas parecidos a los míos explicare tantito la sintaxis de esta función:
Choose (Indice,Comando1,Comando2,...,Comando29)
Donde Indice es un numero entre el 1 y el 29 y los comandos 1-2-...-29 son "las operaciones" que efectuara según el numero del indice, me ejemplifico:
Indice = 1, entonces Comando1
Indice = 2, entonces Comando2
...
Indice = 29, entonces Comando29
Nuevamente repito mi agradecimiento, ya me haz sacado de una buena cantidad de apuros, de verdad, muchas gracias!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas