Ola Pessoal, neste artigo estarei exemplificando uma maneira de relacionar partes de campos para montar  relacionamentos entre Tabelas.

             Vamos imaginar o seguinte cenário, temos uma tabela de produtos, onde cada produto tem um código numérico do tipo com a mascara 1.01.02.1234 aonde:

 

#. - Tipo de Produto

##. - Classificação do Produto

###. - Cor do Produto

#### - Embalagem do Produto

 

             Ainda neste cenário, temos outras 4 tabelas, TipoProduto,Classificacao, CorProduto Embalagem aonde são cadastrados os dados necessários para se montar um Produto na Tabela Produtos.

             Imagine agora que você necessite de fazer uma consulta relacionando os Produtos da tabela Produtos com a Embalagem que ele é vendido, mas essa informação esta na tabela de Embalagens, conseqüentemente você terá que relacionar uma parte do código do produto que corresponde a embalagem com a o código da embalagem correspondente na Tabela Embalagem.

 

          Nesta situação, o que fazer????

 

         Primeiramente despedir o programador que poderia ter criado um campo para destacar a embalagem usada dentro do próprio produto. Mas outra opção é utilizar o comando substring. Este comando retorna parte de uma expressão de caractere, binária, de texto ou de imagem, então você a usará para relacionar à parte do código do produto correspondente a embalagem com o código da embalagem da Tabela Embalagem.

 

Ex:     SELECT P.DESCRICAOPRODUTO, E.DESCRICAOEMBALAGEM, E.PESOEMBALAGEM FROM

          PRODUTOS P, EMBALAGEM E

              WHERE E.CODIGOEMBALAGEM = SUBSTRING (P.CODIGOPRODUTO,9,12) 
              AND P.CODIGO PRODUTO ='1.01.02.1234'

 

      Neste Exemplo estou relacionando o código formado do nono caractere ate o décimo segundo formando o código 1234 que corresponde ao código da embalagem X cadastrada na Tabela Embalagem, desta forma conseguiremos  relacionar as duas tabelas tranquilamente.

 

Por enquanto é pessoal, ate breve