identificacion de determinadas lineas en una tabla

11/01/2006 - 17:00 por .·:m·a·r·l·a:·. | Informe spam
Hola a todos:

os expongo un problemilla que tengo que no doy a como resolverlo

tengo una tabla con las ventas en las que tengo que identificar a quien le
corresponden los bonus de dicha linea a partir de los valores de los campos
cliente, provincia y tipo de venta

en otra tabla tengo los posible destinatarios de los bonus con los valores
de clientes que les corresponden, asi como provincias y tipos de ventas

ejemplificando

tabla 1 :

cliente provincia tipoDeVenta valorVenta bonus
0000001 MADRID DIRECTA 100
0000001 MADRID CATALOGO 200
0000002 MADRID DIRECTA 300
0000002 CACERES DIRECTA 500
0000003 MADRID DIRECTA 600

tabla 2:

bonus tipoCampo valorCampo
persona1 provincia MADRID
persona1 tipoDeVenta DIRECTA
persona1 cliente 0000001
persona1 cliente 0000002
persona2 provincia (todas)
persona2 tipoDeVenta CATALOGO
persona2 cliente (todos)
persona3 provincia CACERES
persona3 tipoDeVenta DIRECTA
persona3 cliente (todos)


primeramente me aseguro que no halla overlaps entre las posibles
asignaciones (en el ejemplo no ocurre)


asi la idea es identificar cada linea de la tabla 1 a una persona cuando sea
posible, como podria automatizar el proceso ??, me refiero a que no se donde
empezar, si crear una funcion a la que pasar los valores y que sea esta la
que mire en la tabla y devuelva la solucion, o ...


el resultado deveria ser tal que ::
cliente provincia tipoDeVenta valorVenta bonus
0000001 MADRID DIRECTA 100 persona1
0000001 MADRID CATALOGO 200 persona2
0000002 MADRID DIRECTA 300 (NULL)
0000002 CACERES DIRECTA 500 persona3
0000003 MADRID DIRECTA 600 persona1


muchas gracias por adelantado
 

Leer las respuestas

#1 Leonard
11/01/2006 - 19:25 | Informe spam
INTENTA CON ESTO HABER SI TE SIRVE COMO QUE LA SEGUNDA TABLITA NO AYUDO
MUCHO...
PARA QUE TE DES POR LO MENOS UNA IDEA



DECLARE @CODCLI CHAR(10),@PROVINCIA CHAR(10),@VENTA CHAR(10)
SELECT @CODCLI='0000003' ,@PROVINCIA='CACERES',@VENTA='DIRECTA'

SELECT DISTINCT BONUS INTO #BONOXCLIENTE FROM FORO1
WHERE (CAMPO='CLIENTE' AND (VALOR=@CODCLI OR VALOR IS NULL))

SELECT DISTINCT BONUS INTO #BONOXPROVINCIA FROM FORO1
WHERE (CAMPO='PROVINCIA' AND (VALOR=@PROVINCIA OR VALOR IS NULL))
AND bonus in (SELECT BONUS FROM #BONOXCLIENTE)

SELECT DISTINCT BONUS INTO #BONOXVENTA FROM FORO1
WHERE (CAMPO='VENTA' AND (VALOR=@VENTA OR VALOR IS NULL))
AND bonus in (SELECT BONUS FROM #BONOXPROVINCIA)

SELECT * FROM #BONOXVENTA
DROP TABLE #BONOXCLIENTE
DROP TABLE #BONOXPROVINCIA
DROP TABLE #BONOXVENTA





Manuel Aparcana Reyes
Analisista Programador
(511) 9503-4295

".·:m·a·r·l·a:·." escribió en el mensaje
news:
Hola a todos:

os expongo un problemilla que tengo que no doy a como resolverlo

tengo una tabla con las ventas en las que tengo que identificar a quien le
corresponden los bonus de dicha linea a partir de los valores de los


campos
cliente, provincia y tipo de venta

en otra tabla tengo los posible destinatarios de los bonus con los valores
de clientes que les corresponden, asi como provincias y tipos de ventas

ejemplificando

tabla 1 :

cliente provincia tipoDeVenta valorVenta bonus
0000001 MADRID DIRECTA 100
0000001 MADRID CATALOGO 200
0000002 MADRID DIRECTA 300
0000002 CACERES DIRECTA 500
0000003 MADRID DIRECTA 600

tabla 2:

bonus tipoCampo valorCampo
persona1 provincia MADRID
persona1 tipoDeVenta DIRECTA
persona1 cliente 0000001
persona1 cliente 0000002
persona2 provincia (todas)
persona2 tipoDeVenta CATALOGO
persona2 cliente (todos)
persona3 provincia CACERES
persona3 tipoDeVenta DIRECTA
persona3 cliente (todos)


primeramente me aseguro que no halla overlaps entre las posibles
asignaciones (en el ejemplo no ocurre)


asi la idea es identificar cada linea de la tabla 1 a una persona cuando


sea
posible, como podria automatizar el proceso ??, me refiero a que no se


donde
empezar, si crear una funcion a la que pasar los valores y que sea esta la
que mire en la tabla y devuelva la solucion, o ...


el resultado deveria ser tal que ::
cliente provincia tipoDeVenta valorVenta bonus
0000001 MADRID DIRECTA 100 persona1
0000001 MADRID CATALOGO 200 persona2
0000002 MADRID DIRECTA 300 (NULL)
0000002 CACERES DIRECTA 500 persona3
0000003 MADRID DIRECTA 600 persona1


muchas gracias por adelantado




Preguntas similares