Jump to content

Valores que não existem em outra tabela (left join)


Recommended Posts

Posted (edited)

Boas, tenho 3 tabelas "produto","carrinhoProduto" e "venda" eu queria saber  os produtos que nao se venderam no ano 2015

select p.idProduto,p.descricao as 'Produto',datepart(year,v.dataVenda) as 'Ano'
	from Venda v
	inner join CarrinhoProduto cp
	on v.idCarrinho=cp.idCarrinho
	left join Produto p
	on p.idProduto=cp.idProduto
	where cp.idProduto is null and datepart(year,GETDATE())=2015
	group by p.idProduto,p.descricao,v.dataVenda

o resultado é todos os produtos que não se venderam, isto é de sempre 2016+2015+....etc mas apenas queria os de 2015

 

Obrigado.

Edited by Tim§id€

...º(>_<)º...

Posted
13 minutes ago, iron said:

No where em vez de fazeres o datepart, tenta faz Ano = 2015

a query q tinha editado estava mal, agora esta como estava a tentar.

...º(>_<)º...

Posted
datepart(year,GETDATE())=2015

Este getdate(), parece ser o teu problema.

Como tinha dito antes, tenta assim

where cp.idProduto is null and Ano=2015

Cumprimentos,
iron

Posted (edited)
35 minutes ago, iron said:

datepart(year,GETDATE())=2015

Este getdate(), parece ser o teu problema.

Como tinha dito antes, tenta assim


where cp.idProduto is null and Ano=2015

boas, ja tentei e nada 

ps :where YEAR(v.dataVenda)=2015  ele da-me os produtos vendidos nesse no

Edited by Tim§id€

...º(>_<)º...

Posted
SELECT p. ....
FROM produto p
WHERE p.idProduto NOT IN (SELECT c.idProduto FROM carrinho .. join. . vendas ... WHERE .. = 2015)
ORDER BY ...

é um mistério como as pessoas gostam de complicar o que é simples 😄

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.