Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/04/2007, 18:09
septuaginta
 
Fecha de Ingreso: abril-2007
Mensajes: 4
Antigüedad: 17 años, 1 mes
Puntos: 0
Ayuda novato en sql

Que tal amigos, les informo mi problema haber si me pueden auxiliar, compre un software de punto de venta que trabaja con sql, he encontrado que puedo generar consultas que permiten manipular mi informacion a mi antojo desde excel y asi lo he hecho, pero me atore en una consulta. Como ya comente es para un negocio en donde vendo x producto el cual tiene "x" precio publico, a algunos de estos productos llevan un descuento que puede variar quiero una comparacion que identifique el descuento que lleva y que me haga las operaciones (es decir multiplique el precio ya con descuento por el numero de piezas que vendi), pego la consulta para ver si me ayudan

select Mes = datepart(mm,fechaTransaccion),
Dia = datepart(dd,fechaTransaccion),
Categoría = TB_CAT1.NOMBRE,
Categoría2 = TB_Cat2.NOMBRE,
Nombre = TB_ARTICULOS.NOMBRE,
Artículo = tb_kardex.idarticulo,
Ean = tb_articulos.idartean,
TotPzs = sum(Piezas),
Existencia=TB_INVENTARIO.CantExistencia,
PrecioUnitario = tb_articulos.preciopublico,
DESCUENTO=ISNULL(TB_promocionesvtab.DESCUENTO,0),
Neto=((100-TB_PROMOCIONESVTAB.DESCUENTO)/100)*TB_ARTICULOS.PRECIOPUBLICO ,
Total=((sum(Piezas))*tb_articulos.Preciopublico),
Iva = tb_articulos.idiva,
IdProv=TB_ARTICULOSDET.IDPROVEEDOR,
Proveedor = TB_PROVEEDORES.Nombre
from tb_kardex
inner join tb_articulos on tb_kardex.idarticulo = tb_articulos.idarticulo
INNER JOIN tb_inventario ON TB_INVENTARIO.IDARTICULO = TB_kardex.IDARTICULO
INNER JOIN TB_ARTICULOSDET ON TB_ARTICULOSDET.IDARTICULO = TB_KARDEX.IDARTICULO
INNER JOIN TB_PROVEEDORES ON TB_PROVEEDORES.IDPROVEEDOR = TB_ARTICULOSDET.IDPROVEEDOR
INNER JOIN TB_CAT2 ON TB_CAT2.IDCAT2 = TB_ARTICULOS.IDCAT2
INNER JOIN TB_CAT1 ON TB_CAT1.IDCAT1 = TB_ARTICULOS.IDCAT1
LEFT JOIN tb_promocionesvtab on tb_promocionesvtab.valorA=tb_articulos.idcat2

where Descripcion like 'ventas%' and convert(char(10), FechaTransaccion ,120) BETWEEN
convert(char(10), getdate() -1,120) AND convert(char(10), getdate() -1,120)
group by tb_kardex.IdArticulo, DESCRIpcion, tb_articulos.idartean, TB_Cat1.NOMBRE, TB_PROVEEDORES.nombre,TB_CAT2.NOMBRE, TB_PROVEEDORES.nombre,tb_inventario.CantExistencia , tb_articulos.Preciopublico,TB_promocionesvtab.DESC UENTO,TB_ARTICULOS.IDIVA,TB_ARTICULOSDET.IDPROVEED OR,
TB_ARTICULOS.NOMBRE,
datepart(mm,fechaTransaccion), datepart(dd,fechaTransaccion)
having sum(Piezas) > 0
order by 1, 2, 3, 5 desc

Espero me haya explicado