Ir para o conteúdo
_Rest_

ajuda numa query SQL

Mensagens Recomendadas

_Rest_    2
_Rest_

Boas,

Eu tenho a seguinte query

SELECT Armazens.designação, Stocks.quantidade_fisica,Reservas.quantidade, Peças.part_number
FROM (Peças INNER JOIN (Armazens INNER JOIN Reservas ON Armazens.cod_armazem = Reservas.cod_armazem) ON Peças.cod_artigo = Reservas.cod_artigo) INNER JOIN Stocks ON (Stocks.cod_armazem = Reservas.cod_armazem) AND (Stocks.cod_artigo = Reservas.cod_artigo) AND (Peças.cod_artigo = Stocks.cod_artigo) AND (Armazens.cod_armazem = Stocks.cod_armazem) 
WHERE Peças.part_number LIKE '" & part_number & "'

Como é que eu somo a Reservas.quantidade se o Peças.part_number for igual a minha variavel & part_number & e se Armazem.designação for o mesmo.

Tipo em vez de aparecer

Designação  quantidade_fisica  quantidade  part_number

Armazem1          30                    5                324

Armazem1          30                    10                324

Aparecer

Designação  quantidade_fisica  quantidade  part_number

Armazem1          30                    15                324

Ou se existir outro armazem

Designação  quantidade_fisica  quantidade  part_number

Armazem1          30                    15                324

Armazem2          50                    10                324

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
_Rest_    2
_Rest_

Então se poderes aplicar essa func nessa query correctamente, agradecia.

Já tentei usar o SUM(Reservas.quantidade) as quantidade,...

Mas dá erro.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
_Rest_    2
_Rest_

Isso não funciona. Como indiquei no post antes, já coloquei SUM(Reservas.quantidade) as quantidade, ...

Dá sempre erro a dizer "Tentou executar uma consulta que não inclui a expressão especificada '(nome do primeiro campo neste caso Designação)' como parte da função de agregação"

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
_Rest_    2
_Rest_

Mais uma duvida, como é que defino o resultado do SUM na clausula WHERE

tipo WHERE Stocks.quantidade_fisica < (Soma(valor do do SUM) + Peças.Stock_minimo)

Eu quando fiz o SUM defini como Soma

SUM(Reservas.quantidade) as SOMA

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bruno1234    20
bruno1234

select * from
(select Desig, SUM(Quant) as Soma, Number, QuantFisica
from Produtos
group by Desig, Number, QuantFisica) t
where t.Soma < VALOR_QUALQUER

ou então assim:

select Desig, SUM(Quant) as Soma, Number, QuantFisica
from Produtos
group by Desig, Number, QuantFisica
having  VALOR_QUALQUER > SUM(Quant)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bruno1234    20
bruno1234

Pois, com o having fica mais apresentável.

Provavelmente até mais eficiente por só fazer um select, mas isso já n garanto.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade