Hola
tengo la siguiente tabla:
CLIENTE PEDIDO1 FACTURA1 PEDIDO2 FACTURA2 PEDIDO3
FACTURA3
y quiero pasar sus datos a esta otra:
CLIENTE PEDIDO FACTURA NUMERO
El campo NUMERO es el que me permitirá determinar si es la factura 1 , la 2
o la 3. En principio iba así porque no era posible que un cliente tuviera
más de tres facturas a la misma vez. Pueden existir clientes con solo un
pedido, con dos o con tres. Mínimo siempre uno.
Lo intento con un procedimiento almacenado (que adjunto al final del texto)
pero solamente me pasa el primer cliente.
Me han dicho que visualmente es más facil hacerlo con las herramientas del
administrador corporativo como por ejemplo el asistente de paquetes de
transformación de datos o que si no tengo que hacer un lio con cursores
FETCH.
¿Sigo con el Procedimiento almacenado (que os ruego reviséis), me meto con
FETCH, o es más facil con los asistentes?
Gracias
____________________________________________________________________________
________________
CREATE PROCEDURE [pa_clientes_nuevaTabla] AS
DECLARE @cliente integer,@pedido1 integer, @factura1 integer, @pedido2
integer, @factura2 integer, @pedido3 integer, @factura3 integer
select @cliente=cliente,@pedido1=pedido1,
@factura1=factura1,@pedido2=pedido2, @factura2=factura2,@pedido3=pedido3,
@factura3=factura3 from TABLACLIENTES
IF (@factura1<>0) insert into NUEVATABLA
(cliente,pedido,factura,numero) values(@cliente,@pedido,@factura,'1')
IF (@factura2<>0) insert into NUEVATABLA
(cliente,pedido,factura,numero) values(@cliente,@pedido,@factura,'2')
IF (@factura3<>0) insert into NUEVATABLA (cliente,pedido,factura,numero)
values(@cliente,@pedido,@factura,'3')
GO
Leer las respuestas