Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes seguir aquí, se trata de resolver un problema/duda y estamos con el mismo problema/duda, no es ninguna duda distinta, supongo.
Pero si vas a preguntar cómo funciona dbexpres o algo así, entonces es mejor en otro hilo, para que se pueda ver por el título de qué trata.
Responder Con Cita
  #2  
Antiguo 10-01-2013
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Cita:
Casimiro Notevi:
Puedes seguir aquí, se trata de resolver un problema/duda y estamos con el mismo problema/duda, no es ninguna duda distinta, supongo.
Pero si vas a preguntar cómo funciona dbexpres o algo así, entonces es mejor en otro hilo, para que se pueda ver por el título de qué trata.
para nada no voy a preguntar como funciona realice lo siguiente:

dos Conexiones TsqlConnection uno para la dbInventario y otra para dbVentas
dos TsqlQuery el cual:
qConsultaArancel tiene en su propiedad SQL lo siguiente y conectado a inventario:
Código SQL [-]
select  I.COD_BARRAS, i.CODIGO3, i.NOMBRE2,  i.PESONETO from INVENTARIO i where i.CODIGO3 =:Arancel
group by i.COD_BARRAS, i.CODIGO3, i.NOMBRE2, i.PESONETO

qConsultaVentaFactura tiene en su propiedad SQL y conectado a ventas:
Código SQL [-]
    select DETALLE_FACTURAS.CODIGO_ARTICULO,
         DETALLE_FACTURAS.DESCRIPCION,
         DETALLE_FACTURAS.CANTIDAD,
         DETALLE_FACTURAS.IMPORTE_UNITARIO,
         detalle_facturas.IMPORTE_TOTAL,
         detalle_facturas.IMPORTE_DESCUENTO,
         (detalle_facturas.IMPORTE_TOTAL-detalle_facturas.IMPORTE_DESCUENTO) TOTAL_VENTA
  from DETALLE_FACTURAS where detalle_facturas.CODIGO_ARTICULO = :Codigo AND DETALLE_FACTURAS.FECHA between :FechaInicio and :FechaFin
   GROUP BY DETALLE_FACTURAS.CODIGO_ARTICULO, 
            DETALLE_FACTURAS.DESCRIPCION,
            DETALLE_FACTURAS.CANTIDAD,
            DETALLE_FACTURAS.IMPORTE_UNITARIO,
            detalle_facturas.IMPORTE_TOTAL,
            detalle_facturas.IMPORTE_DESCUENTO,
            TOTAL_VENTA

Entonces tengo ya este codigo que me trae la información poniendolos hasta en tres ClientDataSet:

Código Delphi [-]
procedure TfrmSecundario.Button1Click(Sender: TObject);
Var
  i: integer;
begin
  begin
    CodArancel := trim(Edit1.Text);
    dmLogica.cdsInventarioConsulta.Close;
    with dmConecta.qConsultaArancel do
    begin
      Close;
      ParamByName('Arancel').AsString := CodArancel;
      open;
    end;
    dmLogica.cdsInventarioConsulta.open;
    i := dmLogica.cdsInventarioConsulta.RecordCount;
    Edit2.Text := IntToStr(i);   // para conocer en el edit la cantidad de registros devueltos
  end;
  dmLogica.cdsInventarioConsulta.First;
  for i := 1 to dmLogica.cdsInventarioConsulta.RecordCount do
  begin
    dmLogica.cdsConsultaVentaFacturas.Close;
    begin
      CodBarra := dmLogica.cdsInventarioConsultaCOD_BARRAS.AsString;
      NomArancel := dmLogica.cdsInventarioConsultaNOMBRE2.AsString;
      with dmConecta.qConsultaVentaFactura do
      begin
        Close;
        ParamByName('Codigo').AsString := CodBarra;
        ParamByName('FechaInicio').AsDateTime := dtpInicioFecha.DateTime;
        ParamByName('FechaFin').AsDateTime := dtpFinalFecha.DateTime;
        open;
      end;
      dmLogica.cdsInventarioConsulta.Next;
      dmLogica.cdsConsultaVentaFacturas.open;
    end;
    dmLogica.cdsAgregaValorFacturas.AppendData
      (dmLogica.cdsConsultaVentaFacturas.Data, True);
  end;
end;

al final el ClientDataSet llamado cdsAgregaValorFacturas recibe un AppenData de mi cdsConsultaFActuraVentas.Data ya que como dije en el pos un codigo3 puede estar con 50 articulos diferentes... pero al final la información se va a reducir en esto: (es aquí donde estoy trabado)

Cita:
TInventario--------TInventario-------TDFactura--------TInventario--------TDFactura
Codigo3------------nombre2 ---------cantidad---------PesoTotal----------Totalventa
800231----------- Cocinas ---------- 50 ------------ 420 ---------- 4,200.00

Última edición por novato_erick fecha: 10-01-2013 a las 20:58:45.
Responder Con Cita
  #3  
Antiguo 10-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Pero cual es el problema?


Por cierto, a esto:
Código Delphi [-]
    select DETALLE_FACTURAS.CODIGO_ARTICULO,
         DETALLE_FACTURAS.DESCRIPCION,
         DETALLE_FACTURAS.CANTIDAD,
         DETALLE_FACTURAS.IMPORTE_UNITARIO,
         detalle_facturas.IMPORTE_TOTAL,
         detalle_facturas.IMPORTE_DESCUENTO,
         (detalle_facturas.IMPORTE_TOTAL-detalle_facturas.IMPORTE_DESCUENTO) TOTAL_VENTA
  from DETALLE_FACTURAS where detalle_facturas.CODIGO_ARTICULO = :Codigo AND DETALLE_FACTURAS.FECHA between :FechaInicio and :FechaFin
   GROUP BY DETALLE_FACTURAS.CODIGO_ARTICULO, 
            DETALLE_FACTURAS.DESCRIPCION,
            DETALLE_FACTURAS.CANTIDAD,
            DETALLE_FACTURAS.IMPORTE_UNITARIO,
            detalle_facturas.IMPORTE_TOTAL,
            detalle_facturas.IMPORTE_DESCUENTO,
            TOTAL_VENTA
Al no haber involucrada ninguna otra tabla, le puedes quitar el "DETALLE_FACTURAS." a todos:
Código Delphi [-]
select CODIGO_ARTICULO, 
       DESCRIPCION,
       CANTIDAD,
       IMPORTE_UNITARIO,
       IMPORTE_TOTAL,
       IMPORTE_DESCUENTO,
       (IMPORTE_TOTAL-IMPORTE_DESCUENTO) TOTAL_VENTA
from DETALLE_FACTURAS 
where CODIGO_ARTICULO = :Codigo 
AND FECHA between :FechaInicio and :FechaFin
GROUP BY CODIGO_ARTICULO, 
         DESCRIPCION,
         CANTIDAD,
         IMPORTE_UNITARIO,
         IMPORTE_TOTAL,
         IMPORTE_DESCUENTO,
         TOTAL_VENTA
Responder Con Cita
  #4  
Antiguo 10-01-2013
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
el Dato de Peso se encuentra en la tabla inventario en un campo llamado PesoNeto eso lo tengo que multiplicar por las cantidades encontradas en la tabla detalleFacturas mezclar esos datos y al final sumar los totales de cada campo del clientDataSet llamado cdsAgregaValorFacturas... Puede ser en un Label pero lie que en un ClientDataSet con appenData no se puede hacer Campos calculados...

Saludos
Responder Con Cita
  #5  
Antiguo 03-07-2014
tiggerleon tiggerleon is offline
Registrado
NULL
 
Registrado: jul 2014
Posts: 1
Poder: 0
tiggerleon Va por buen camino
select a.fecha, b.descripcion from ([basedatos1].[dbo].Cabecera a inner join [basedatos2].[dbo].Detalle b on a.id=b.id) where a.id=122

ahora si quieres multiplicar valores antes de mostrar resultados seria algo asi:

select (a.peso*b.cantidad) as PesoTotal, b.descripcion from ([inventario].[dbo].Tabla1 a inner join [detalleFacturas].[dbo].Tabla2 b on a.id=b.id) where a.id=122


a mi me funciona así...

Responder Con Cita
  #6  
Antiguo 03-07-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración


Recuerda poner los tags al código fuente, ejemplo:



Gracias


Por cierto, este mensaje es de hace año y medio
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como acceso a multiples bases de datos ferdanjua Firebird e Interbase 2 17-08-2010 12:59:08
Servidor con multiples bases de datos firebird drkirocorp Conexión con bases de datos 5 15-12-2009 17:54:55
Insertar un registro en multiples bases de datos. Gaim2205 Conexión con bases de datos 2 09-11-2007 00:15:13
Como hacer referencia a un query dentro de otro query? JuanBCT SQL 2 05-09-2006 18:35:25
Realizar una consulta (dbexpress) a dos bases de datos Firebird jmlifi Firebird e Interbase 0 27-06-2006 13:36:54


La franja horaria es GMT +2. Ahora son las 21:57:52.


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
Copyright 1996-2007 Club Delphi