Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Abimael

Instrução SQL

Recommended Posts

Eu tenho 3 tabelas sendo.

 

Produtos (cód, descrição, preço....)

Vendas (cód, cód-usuario, cód-produto, preço,....)

Usuários (código, Nome, sexo .....)

 

A tabela de vendas eu tenho o código do usuário, e do produto, como no exemplo acima

Eu quero dar um select na tabela de vendas no código do usuário, e quero o resultado seja

o nome do usuário que está na tabela de usuários, a descrição do produto que está na tabela de

produtos repetindo as vendas que o usuário fez..

 

Ex.

 

Cód-usuário		 Nome			  Cód-Produto   descriçao	Cód-Venda	preço35				 Roberto			1549		   lápis	   005			1.5035				 Roberto			2596		   borracha	005			0.5035				 Roberto			2569		   Caneta	  005			1.68
Alguem sabe?

 

estou conseguindo puxar o código do produto e o nome do usuário junto com este comando sql.

 

select tb_vendas.codigo_produto, tbusuarios.nome

from tb_vendas, tbusuarios WHERE tbusuarios.codigo = tb_vendas.codigo_usuario

and tb_vendas.codigo_usuario = '2'

 

mas falta acrescentar a descrição do produto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

To sem uma base MySQL pra testar aqui ..

 

tenta assim:

 

SELECT tb_vendas.codigo_produto, tbusuarios.nome, tb_produtos.descricaoFROM tb_vendas, tbusuarios, tb_produtosWHERE tbusuarios.codigo = tb_vendas.codigo_usuario = tb_produtos.codigo_usuario = '2'

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara tenta isso

 

SELECT TV.codigo_produto, U.nome, TP.descricaoFROM (tb_vendas TV INNER JOIN tbusuarios U ON TV.codigo_usuario = U.codigo) INNER JOIN tb_produtos TP ON TP.codigo = TV.codigo_produto WHERE TV.codigo_usuario = '2'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara Obrigado, mas não funcionou. o tb_produtos.codigo_usuario não existe na tabela de produtos, o código do produto está na tabela de vendas. select tb_vendas.codigo_produto, tbusuarios.nome, tb_produtos.descricaofrom tb_vendas, tbusuarios, tb_produtos WHERE tbusuarios.codigo = tb_vendas.codigo_usuarioand tb_vendas.codigo_usuario = '2'este comando está funcionando, vem todos os dados, porem repete 6 vezes cada linha. teria que me retornar somente 6 linhas, porem esta retornando 126 linas repetindo de grupo em grupo, entende?1;"Manoel ribeiro Silva";"Mamão"1;"Manoel ribeiro Silva";"Maça"1;"Manoel ribeiro Silva";"Amarilis"1;"Manoel ribeiro Silva";"Barraca"1;"Manoel ribeiro Silva";"333"1;"Manoel ribeiro Silva";"2"1;"Manoel ribeiro Silva";"Couve Flor"1;"Manoel ribeiro Silva";"Pepino"1;"Manoel ribeiro Silva";"RATO"1;"Manoel ribeiro Silva";"Celular Samsung Voicer"1;"Manoel ribeiro Silva";"Monitor NovaData"1;"Manoel ribeiro Silva";"Carteira de couro"1;"Manoel ribeiro Silva";"Morangos"1;"Manoel ribeiro Silva";"Grampeador kodak"1;"Manoel ribeiro Silva";"Relógio Rolex Ouro."1;"Manoel ribeiro Silva";"Descrição"1;"Manoel ribeiro Silva";"notbook"1;"Manoel ribeiro Silva";"desc"1;"Manoel ribeiro Silva";"1"1;"Manoel ribeiro Silva";"3233"1;"Manoel ribeiro Silva";"Televisão 14´´"2;"Manoel ribeiro Silva";"Televisão 14´´"2;"Manoel ribeiro Silva";"Pepino"2;"Manoel ribeiro Silva";"Carteira de couro"2;"Manoel ribeiro Silva";"Mamão"2;"Manoel ribeiro Silva";"333"2;"Manoel ribeiro Silva";"Morangos"2;"Manoel ribeiro Silva";"Maça"2;"Manoel ribeiro Silva";"notbook"2;"Manoel ribeiro Silva";"3233"2;"Manoel ribeiro Silva";"RATO"2;"Manoel ribeiro Silva";"Relógio Rolex Ouro."2;"Manoel ribeiro Silva";"2"2;"Manoel ribeiro Silva";"Amarilis"2;"Manoel ribeiro Silva";"1"2;"Manoel ribeiro Silva";"Barraca"2;"Manoel ribeiro Silva";"Descrição"2;"Manoel ribeiro Silva";"Celular Samsung Voicer"2;"Manoel ribeiro Silva";"Couve Flor"2;"Manoel ribeiro Silva";"Grampeador kodak"2;"Manoel ribeiro Silva";"Monitor NovaData"2;"Manoel ribeiro Silva";"desc"3;"Manoel ribeiro Silva";"desc"3;"Manoel ribeiro Silva";"3233"3;"Manoel ribeiro Silva";"Descrição"3;"Manoel ribeiro Silva";"Televisão 14´´"3;"Manoel ribeiro Silva";"Monitor NovaData"3;"Manoel ribeiro Silva";"Mamão"3;"Manoel ribeiro Silva";"RATO"3;"Manoel ribeiro Silva";"Carteira de couro"3;"Manoel ribeiro Silva";"2"3;"Manoel ribeiro Silva";"1"3;"Manoel ribeiro Silva";"Celular Samsung Voicer"3;"Manoel ribeiro Silva";"333"3;"Manoel ribeiro Silva";"Barraca"3;"Manoel ribeiro Silva";"Morangos"3;"Manoel ribeiro Silva";"Relógio Rolex Ouro."3;"Manoel ribeiro Silva";"Maça"3;"Manoel ribeiro Silva";"Couve Flor"3;"Manoel ribeiro Silva";"Pepino"3;"Manoel ribeiro Silva";"Amarilis"3;"Manoel ribeiro Silva";"Grampeador kodak"3;"Manoel ribeiro Silva";"notbook"4;"Manoel ribeiro Silva";"Celular Samsung Voicer"4;"Manoel ribeiro Silva";"Monitor NovaData"4;"Manoel ribeiro Silva";"Amarilis"4;"Manoel ribeiro Silva";"Amarilis"4;"Manoel ribeiro Silva";"Monitor NovaData"4;"Manoel ribeiro Silva";"RATO"4;"Manoel ribeiro Silva";"Couve Flor"4;"Manoel ribeiro Silva";"Couve Flor"4;"Manoel ribeiro Silva";"Grampeador kodak"4;"Manoel ribeiro Silva";"desc"4;"Manoel ribeiro Silva";"Celular Samsung Voicer"4;"Manoel ribeiro Silva";"1"4;"Manoel ribeiro Silva";"Relógio Rolex Ouro."4;"Manoel ribeiro Silva";"Barraca"4;"Manoel ribeiro Silva";"Relógio Rolex Ouro."4;"Manoel ribeiro Silva";"Descrição"4;"Manoel ribeiro Silva";"Descrição"4;"Manoel ribeiro Silva";"Grampeador kodak"4;"Manoel ribeiro Silva";"Barraca"4;"Manoel ribeiro Silva";"2"4;"Manoel ribeiro Silva";"desc"4;"Manoel ribeiro Silva";"1"4;"Manoel ribeiro Silva";"2"4;"Manoel ribeiro Silva";"3233"4;"Manoel ribeiro Silva";"Mamão"4;"Manoel ribeiro Silva";"Maça"4;"Manoel ribeiro Silva";"Mamão"4;"Manoel ribeiro Silva";"Maça"4;"Manoel ribeiro Silva";"notbook"4;"Manoel ribeiro Silva";"333"4;"Manoel ribeiro Silva";"3233"4;"Manoel ribeiro Silva";"Morangos"4;"Manoel ribeiro Silva";"333"4;"Manoel ribeiro Silva";"Morangos"4;"Manoel ribeiro Silva";"Carteira de couro"4;"Manoel ribeiro Silva";"Pepino"4;"Manoel ribeiro Silva";"Televisão 14´´"4;"Manoel ribeiro Silva";"Pepino"4;"Manoel ribeiro Silva";"RATO"4;"Manoel ribeiro Silva";"Televisão 14´´"4;"Manoel ribeiro Silva";"Carteira de couro"4;"Manoel ribeiro Silva";"notbook"5;"Manoel ribeiro Silva";"Descrição"5;"Manoel ribeiro Silva";"desc"5;"Manoel ribeiro Silva";"1"5;"Manoel ribeiro Silva";"notbook"5;"Manoel ribeiro Silva";"Grampeador kodak"5;"Manoel ribeiro Silva";"Televisão 14´´"5;"Manoel ribeiro Silva";"Morangos"5;"Manoel ribeiro Silva";"Pepino"5;"Manoel ribeiro Silva";"Monitor NovaData"5;"Manoel ribeiro Silva";"Mamão"5;"Manoel ribeiro Silva";"Amarilis"5;"Manoel ribeiro Silva";"Couve Flor"5;"Manoel ribeiro Silva";"RATO"5;"Manoel ribeiro Silva";"Carteira de couro"5;"Manoel ribeiro Silva";"2"5;"Manoel ribeiro Silva";"Relógio Rolex Ouro."5;"Manoel ribeiro Silva";"3233"5;"Manoel ribeiro Silva";"Maça"5;"Manoel ribeiro Silva";"Celular Samsung Voicer"5;"Manoel ribeiro Silva";"Barraca"5;"Manoel ribeiro Silva";"333"

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa SQL que passei foi um exemplo de como pode fazer, pois nem sei quais sao os campos da sua tabela...

 

tenta usar um DISTINCT, na sua SQL

 

select distinct tb_vendas.codigo_produto, tbusuarios.nome, tb_produtos.descricaofrom tb_vendas, tbusuarios, tb_produtos WHERE tbusuarios.codigo = tb_vendas.codigo_usuarioand tb_vendas.codigo_usuario = '2'

Compartilhar este post


Link para o post
Compartilhar em outros sites

acontece a mesma cois, porem ao invez de selecionar de 6 em 6 agora é de 5 em 5. O que faz este distinct .Um cara de um outro forum me passou isso, porem ai que não funciona mesmo, não sei onde ele coloca as tabelas. "Select U.Nome,U.Codigo,P.Codigo as Produto,P.Descricao,P.Preco,V.Codigo as VendaFrom ((Venda VInner Join Produto P On V.Cod_Produto = P.Codigo)Inner Join Usuario U On U.Codigo = V.Cod_Usuario)Where U.Codigo =" & Usuario

Compartilhar este post


Link para o post
Compartilhar em outros sites

So falta pegar a descricao?

Se for so isso, basta adicionar a coluna de descricao no select:

 

select tb_produtos.descricao, tb_produtos.cod, tbusuarios.nomefrom tb_vendas, tb_usuarios, tb_produtos  WHERE tbusuarios.codigo = tb_vendas.codigo_usuario

Assim ele vai recuperar o nome de todos os produtos que o usuario comprou, junto com o nome dele e o cod do produto, é isso o q voce quer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.