Tienes problemas con el diseño de tus tablas. Como haces para que el la tx *345278*97889 no ingrese como tipo de producto *3452?* Es decir si el tipo de producto no es de longitud fija nunca sabes si estás vinculando porque si o porque corresponde. No se si me explico. Para tener dos tipos de valores en una misma columna tendrían que estar separados por un token (#,.-=+ etc) o ser de longitud fija. De lo contrario la TX mencionada anteriormente va a entrar como tipo *3452*, *345278*, *34527*, etc.
El 17 de enero de 2013 15:33, Ivan Perales M. <[email protected]>escribió: > Pudieras utilizar un query como este: > > SELECT tx.producto_id from tabla_productos_por_cliente cl left join > tabla_tx tx on tx.producto_id like cl.tipo_producto || '%' where cl.cliente > = 'pepito'; > > Aunque no se que tantos registros vayas a manejar y que tanto performance > impacte, intenta agregarle un indice a producto_id y verificalo con el > EXPLAIN. > > Saludos > > > 2013/1/17 Rafael Valenzuela <[email protected]> > >> Una pregunta muy tonta y con una etl vamos , puede que se pueda hacer con >> sql o con procedimientos pero me da que va a ser muy engorroso. >> El 17/01/2013 09:40, "Ruben Fitó" <[email protected]> escribió: >> >> Una cosilla mas, >>> >>> los tipos de productos pueden ser: >>> >>> *12345 --> *producto* A: 12345 *00089 >>> *1234578 --> *producto* B: 1234578 *0258 >>> >>> Con lo que usar expresiones regulares puede dar problemas. >>> >>> Saludos!! >>> >>> >>> 2013/1/17 Ruben Fitó <[email protected]> >>> >>>> Hola lista, >>>> >>>> Después de comerme el coco un buen rato he decidido consultaros ya que >>>> no lo consigo: >>>> >>>> Tengo una tabla donde se almacenan las TX i uno de sus campos es >>>> producto. >>>> >>>> *tabla_tx* >>>> >>>> *producto id * : código producto, los primeros dígitos(en negrita) >>>> definen el tipo de producto. >>>> xxxx >>>> *12345*61132 >>>> *12345*1458 >>>> xxxx >>>> *987653*234 >>>> *987653*111 >>>> xxxx >>>> >>>> >>>> Por otro lado tengo otra tabla donde me dice los productos se pueden >>>> vender para cada cliente. >>>> >>>> *tabla_productos_por_cliente* >>>> >>>> *cliente | tipo_producto* >>>> xxx | xxx >>>> pepito | *12345* >>>> pepito | *987653* >>>> xxx | xxx >>>> >>>> Lo que necesito es la lista de *productos_id* de *tabla_tx* que >>>> correspondan al cliente "pepito". >>>> >>>> En teoria se deberian buscar los *productos_id* de *tabla_tx* que >>>> empiecen por *tipo_producto* correspondientes al *cliente* deseado. >>>> >>>> Lo único que puedo incluir es que dos o mas clientes no comparten el >>>> mismo *tipo_producto*. (De momento.. jeje) >>>> >>>> Muchas Gracias. >>>> >>>> Saludos!! >>>> >>>> >>>> -- >>>> *Ruben Fitó * >>>> Software Engineer >>>> [image: Ubiquat Technologies, SL] >>>> [email protected]<[email protected]> >>>> >>>> www.ubiquat.com >>>> Tota la informació continguda en aquest document i arxius adjunts és >>>> CONFIDENCIAL protegida per llei de secret comercial. Si l'ha rebut per >>>> error, si us plau elimini'l i posi's en contacte amb l'emissor. >>>> >>>> All information contained in this document and any attachments are >>>> CONFIDENTIAL and protected under trade secret laws. If you receive this >>>> message by mistake, please delete it and notify it immediately to the >>>> sender. >>>> >>> >>> >>> >>> -- >>> *Ruben Fitó * >>> Software Engineer >>> [image: Ubiquat Technologies, SL] >>> [email protected]<[email protected]> >>> >>> www.ubiquat.com >>> Tota la informació continguda en aquest document i arxius adjunts és >>> CONFIDENCIAL protegida per llei de secret comercial. Si l'ha rebut per >>> error, si us plau elimini'l i posi's en contacte amb l'emissor. >>> >>> All information contained in this document and any attachments are >>> CONFIDENTIAL and protected under trade secret laws. If you receive this >>> message by mistake, please delete it and notify it immediately to the >>> sender. >>> >> > > > -- > Lindolfo Iván Perales Mancinas > Solo existen 10 tipos de personas en el mundo, las que saben binario y las > que no. > -- *Life is what happens to you while you're busy making other plans. *John Lennon http://ar.linkedin.com/in/joseluisballe
