none
SELECT ESTA FALTANDO A DESCRIÇÃO RRS feed

  • Pergunta

  • MEU SELECT ESTA FALTANDO A DESCRIÇÃO DA MINHA 3 TABELA

     sourceProdutos = from cli in mdc.CLIENTES
                                     
                                     join PR in mdc.HISTPRODUTOS on cli.CODIGO equals PR.CODIGOTIPO
                                     
                                     where
                                     PR.CODIGOTIPO == int.Parse(tbCliente.Text.Trim())
                                     &&
                                     cli.RAZAO.StartsWith(tbRazao.Text.Trim())
                                         //codigo produto
                                     &&
                                         mdc.PRODUTOs.Any(P => P.CODIGO == PR.PRODUTO &&
                                         P.CODIGO == int.Parse(tbCodigo.Text))

                                     //DESCRIÇÃO 
                                     &&
                                         mdc.PRODUTOs.Any(P => P.CODIGO == PR.PRODUTO &&
                                         P.DESCRICAO.StartsWith(tbDescricao.Text.Trim().ToUpper()))
                                     orderby PR.PRODUTO
                                     select new { PR.CODIGOTIPO, cli.RAZAO, PR.PRODUTO, PRO.DESCRICAO, PR.DATACADASTRO, PR.DATAATUALIZACAO, PR.CODIGO };

    O PRO.DESCRICAO FICA INCORRETO.

    COMO EU RESOLVO ISSO ?

    quarta-feira, 18 de novembro de 2015 20:08

Respostas

  • Você esqueceu de faz o join com a tabela Produtos, seu select vai ficar assim:

    sourceProdutos =                 from cli in mdc.CLIENTES                               
                                     join PR in mdc.HISTPRODUTOS on cli.CODIGO equals PR.CODIGOTIPO    
            join PRO in mdf.PRODUTOS on PRO.CodigoProduto equals PR.CodigoProduto                           
                                     where  PR.CODIGOTIPO == int.Parse(tbCliente.Text.Trim())
                                     &&  cli.RAZAO.StartsWith(tbRazao.Text.Trim())                                    
                                     &&  mdc.PRODUTOs.Any(P => P.CODIGO == PR.PRODUTO 
            &&  P.CODIGO == int.Parse(tbCodigo.Text))
                                     &&  mdc.PRODUTOs.Any(P => P.CODIGO == PR.PRODUTO 
                                     &&  P.DESCRICAO.StartsWith(tbDescricao.Text.Trim().ToUpper()))
                                     orderby PR.PRODUTO
                                     select new { PR.CODIGOTIPO, cli.RAZAO, PR.PRODUTO, PRO.DESCRICAO, PR.DATACADASTRO, PR.DATAATUALIZACAO, PR.CODIGO };

    se minha resposta foi útil, não esqueça de marca-lá ;)



    • Editado Poliana Dias quinta-feira, 19 de novembro de 2015 18:53
    • Sugerido como Resposta SimorC quinta-feira, 19 de novembro de 2015 19:46
    • Marcado como Resposta Marcos SJ sexta-feira, 20 de novembro de 2015 11:38
    quinta-feira, 19 de novembro de 2015 18:49

Todas as Respostas

  • Voce nao definiu PRO em momento nenhum... 

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    quarta-feira, 18 de novembro de 2015 20:30
    Moderador
  • Boa noite.

    A partir da tabela de Histórico tu tens acesso aos clientes e produtos, correto?

    Acredito que se tu fizeres um select from mdc.HISTPRODUTOS no lugar do mdc.CLIENTES, ficaria mais simples, pois assim tu podes acessar os clientes e produtos "diretamente" da tabela de histórico.


    Att., Rafael Simor

    quinta-feira, 19 de novembro de 2015 02:07
  • Bom dia

    O problema que eu tenho que acessar as 3 tabelas

    mdc.PRODUTOS (POR CAUSA DA DESCRICAO DO PRODUTO)

    mdc.CLIENTES (CAMPO RAZAO DO CLIENTES)

    mdc.HISTOPRODUTOS (CAMPOS CODIGOTIPO, PRODUTO, DATACADASTRO, DATAATUALIZACAO, CODIGO)

    E agora como eu resolvo ?

    Fico no aguardo

    Muito Obrigado

    quinta-feira, 19 de novembro de 2015 11:54
  • Você esqueceu de faz o join com a tabela Produtos, seu select vai ficar assim:

    sourceProdutos =                 from cli in mdc.CLIENTES                               
                                     join PR in mdc.HISTPRODUTOS on cli.CODIGO equals PR.CODIGOTIPO    
            join PRO in mdf.PRODUTOS on PRO.CodigoProduto equals PR.CodigoProduto                           
                                     where  PR.CODIGOTIPO == int.Parse(tbCliente.Text.Trim())
                                     &&  cli.RAZAO.StartsWith(tbRazao.Text.Trim())                                    
                                     &&  mdc.PRODUTOs.Any(P => P.CODIGO == PR.PRODUTO 
            &&  P.CODIGO == int.Parse(tbCodigo.Text))
                                     &&  mdc.PRODUTOs.Any(P => P.CODIGO == PR.PRODUTO 
                                     &&  P.DESCRICAO.StartsWith(tbDescricao.Text.Trim().ToUpper()))
                                     orderby PR.PRODUTO
                                     select new { PR.CODIGOTIPO, cli.RAZAO, PR.PRODUTO, PRO.DESCRICAO, PR.DATACADASTRO, PR.DATAATUALIZACAO, PR.CODIGO };

    se minha resposta foi útil, não esqueça de marca-lá ;)



    • Editado Poliana Dias quinta-feira, 19 de novembro de 2015 18:53
    • Sugerido como Resposta SimorC quinta-feira, 19 de novembro de 2015 19:46
    • Marcado como Resposta Marcos SJ sexta-feira, 20 de novembro de 2015 11:38
    quinta-feira, 19 de novembro de 2015 18:49