Comando SQl;

Enviado:
24 Out 2010 20:00
por HC908
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
Re: Comando SQl;

Enviado:
25 Out 2010 08:07
por andre_luis
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
+++

Enviado:
25 Out 2010 16:22
por ivan
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.

Enviado:
26 Out 2010 10:14
por HC908
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.