Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Sql para seleccionar registros diferentes (https://www.clubdelphi.com/foros/showthread.php?t=62172)

odrack 08-12-2008 17:09:43

Sql para seleccionar registros diferentes
 
Que tal compañeros!!

Tengo ciertas dudas para realizar un query que solo realice busquedas de campos diferentes. Estoy haciendo un reporte de facturación, pero tengo campos repetidos como lo son iva al 0%, iva al 15%, subtotal al 0%, subtotal al 15% y total, los campos que son diferentes es el precio unitario del articulo y el monto, algo asi:

Cant. Art. 2 "Descripcion articulo", Precio Uni (1), Monto (2), Iva 0%(0), Iva 15%(0.3), Total (2.3).

El iva al 0 y al 15 es por que tengo ciertos articulos que son excentos de iva.
Lo que hago en mi ticket es guardar en todos los registros de iva 0, iva 15, Sub 0, Sub 15 y total la cantidad correspondiente por registros (aqui es cuando se repiten las cantidades). Como puedo seleccionar solo un registro por factura con un Query ya que el monto lo puedo sumar con un Sum(Monto), mismo que quisiera hacer con los demas campos. para generar mis totales.

por ejemplo.

Total monto, total Iva al 0%, total Iva al 15%, Subtotal 0%, Subtotal 15% y Total de ventas.

Espero haberme dado a entender. Y de antemano gracias por brindarme su ayuda anterior mente!!:D

ContraVeneno 08-12-2008 17:52:22

no entendí que es lo que realmente quieres y tampoco entendí como están tus tablas.

Lo que yo te recomendaría, sería tener una tabla para los tipos de IVA y en tu registro maestro pones ese IVA. Es decir:
Código:

Tabla TipoIVA
IVA Valor
---------------
1    0.0
2    0.10
3    0.15

Tabla Maestro
Factura  IVA
-------------------
0001      2
0002      1
0003      3
0004      3

Y en base a ese IVA haces todos los cálculos. Vamos, que es parte de la normalización de una base de datos.

odrack 08-12-2008 18:08:14

Perdon, por no haberme dado bien a entender :D.

Así es como tengo las tablas hechas. En la tabla articulos tengo el tipo de articulo y el tipo de iva.

Cuando hago mi facturacion lo divido por 2 tipos de iva, donde iva = 0% y donde iva = 15%, de ahi hago todos los calculos.

Quedandome mi registro asi

Cantidad - Descripcion - Precio Unitario - Monto
1 Cepillo dental 12.00 12.00
2 Xilocaine** 34.00 34.00

**Articulo con 0%

Subtotal 15% 12.00
Iva 15% 1.80
Subtotal 0% 34.00
Iva 0% 0.00
Total 47.80

En mi tabla lo tengo registrado de la siguiente forma

Indarticulo PU - Monto - Sub0 - Sub15 - iva15 -Total
1 12.00 12.00 34.00 12.00 1.80 47.80
2 34.00 34.00 34.00 12.00 1.80 47.80

Para un Reporte de ventas yo necesito un queri para sumar los campos de subtotal 0, Subtotal 15% Iva 15% y Total, (IVA al 0 simpre sera 0.00).

Si hago un
Código SQL [-]
select sum(sub0) from ticket where fecha between '2008-12-08' and '2008-12-08'
me dara como resultado 68.00 cuando el resultado deberia ser 34.00 Mi pregunta es ¿Como puedo realizar un query para que solo haga la suma de 34 en los campos de subtotales e iva asi como el total?.

Gracias por su ayuda!!:D

Ferrari 10-12-2008 00:49:20

Por lo que veo es para una aplicacion de algun Hospital o farmacia...Ok implementa un query algo asi:
Código SQL [-]
SELECT campo1, campo2, CASE WHEN SubTotal > 0 THEN SubTotal ELSE 0 END as SubTotal 
FROM ticket 
WHERE fecha BETWEEN '2008-12-08' and '2008-12-08'


La franja horaria es GMT +2. Ahora son las 21:54:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi