Comando SQl;

Programação Java

Moderadores: 51, guest2003

Comando SQl;

Mensagempor HC908 » 24 Out 2010 20:00

tenho duas tabelas produto e venda

estrutura da tabela venda.

idvenda
produto_idProduto

estrutura da tabela produto
idProduto
nome

gostaria de saber qual foram os produtos q não entraram para venda. ja tentei varias forma de SQL e não estou conseguindo
HC908
Byte
 
Mensagens: 248
Registrado em: 26 Mar 2007 09:55

Re: Comando SQl;

Mensagempor andre_luis » 25 Out 2010 08:07

Não entendi a relação de campos, mas suponho que seja assim :

Venda
Código: Selecionar todos
idvenda
produto
idProduto


Produto
Código: Selecionar todos
idProduto
nome


É necessário que ao menos um dos campos seja igual. Por isso o questionamento.
Eu faria assim:
Código: Selecionar todos
select
TBL_Produto.idProduto
TBL_Produto.nome
from Produto TBL_Produto
inner join Venda TBL_Venda on TBL_Produto.idProduto = TBL_Venda.idProduto
where TBL_Venda.idvenda IS NULL



+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor ivan » 25 Out 2010 16:22

André,
O campo produto_idproduto na Tabela Venda é uma chave estrangeira da tabela produto em venda.


NC908,

Se a tabela de Venda lista os produtos vendidos, para listar os produtos que não foram vendidos, uma solução é usar a cláusula "NOT IN SELECT".

Ficaria algo assim:

SELECT idproduto,nome from Produto where Produto.IDProduto NOT IN (SELECT DISTINCT Venda.idproduto from venda)

Não é uma consulta otimizada para o desempenho mas pela natureza da consulta, listar os q não foram vendidos, ela não será executada constantemente.

Espero q eu tenha entendido corretamente a dúvida.
"A mente que se abre a uma nova idéia jamais volta ao seu tamanho original." (Albert Einstein).
Avatar do usuário
ivan
Word
 
Mensagens: 618
Registrado em: 12 Out 2006 21:27

Mensagempor HC908 » 26 Out 2010 10:14

valeuuuuuuuuuuuu pessoal. deu certo. AS TABELAS NO MUNDO REAL NÂO SÃO ESTA. REALEMNET NÃO TEM MUITO LOGICA ESTE RELACIONAMENTO. + VC TESTEI AQUI E DEU CERTO> MT OBG.
HC908
Byte
 
Mensagens: 248
Registrado em: 26 Mar 2007 09:55


Voltar para Java

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x