Usuário com melhor resposta
SELECT ESTA FALTANDO A DESCRIÇÃO

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 ?
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
Todas as Respostas
-
Voce nao definiu PRO em momento nenhum...
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
-
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
-
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
-
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