Ver Mensaje Individual
  #6  
Antiguo 02-11-2015
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Reputación: 19
olbeup Va camino a la fama
Cita:
Empezado por sowei Ver Mensaje
La idea es grabar una tabla nueva (temporal) y por lo tanto diferente a la que estoy consultando, más que nada porque el resultado de la consulta proviene de varias tablas.

Por poner un ejemplo sencillo, hacer un select de la tabla LINEAS DE FACTURA, para obtener los artículos vendidos. A su vez realizar un left join para obtener el cabezal de la factura y obtener el campo FECHA para descartar los que no queremos. Y también un left join con la tabla ARTICULOS para obtener la descripción del articulo. El resultado (varios registros) grabarlos en la tabla VENTAPERIODO que tendría los campos p.e. ARTICULO, CANTIDAD, PRECIO, IMPORTE, DESCRIPCION, ...

Este sería un ejemplo sencillo. Lógicamente la consulta sería mucho más complicada.

Supongo que desde SQL puro no puedo hacerlo, pero quizá sí con stored procedures?
Hola sowei,

En SQL se puede hacer todo, lo que tienes que hacer es crearte una tabla con los campos igualmente definidos que vas a necesitar de las tres tablas y crear la SQL que recoja los campos que vas a grabar.

Código SQL [-]
INSERT INTO VentaPeriodo
  SELECT
      LF.CAMPOLINEAFACTURA
      ,LF....
      ,LF....
      ,LF....
      ,F.CAMPOFACTURA
      ,F....
      ,F....
      ,F....
      ,A.CAMPOARTICULO
      ,A....
      ,A....
      ,A....
    FROM LineasFacturas AS LF
      INNER JOIN Facturas AS F
        ON F.IDFACTURA = LF.FACTURAID
      INNER JOIN Articulos AS A
        ON A.IDARTICULO = LF.ARTICULOID
    WHERE F.FECHAFACTURA = '02/11/2015'

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.

Última edición por olbeup fecha: 02-11-2015 a las 10:44:35.
Responder Con Cita