_Rest_ Posted June 11, 2009 at 10:48 PM Report #271584 Posted June 11, 2009 at 10:48 PM 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
bruno1234 Posted June 12, 2009 at 08:41 PM Report #271779 Posted June 12, 2009 at 08:41 PM Isso é um Sum: select Desig, SUM(Quant) as Soma, Number, QuantFisica from Produtos group by Desig, Number, QuantFisica Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos
_Rest_ Posted June 12, 2009 at 08:43 PM Author Report #271780 Posted June 12, 2009 at 08:43 PM Então se poderes aplicar essa func nessa query correctamente, agradecia. Já tentei usar o SUM(Reservas.quantidade) as quantidade,... Mas dá erro.
bruno1234 Posted June 12, 2009 at 08:47 PM Report #271783 Posted June 12, 2009 at 08:47 PM Tens aí a query, é só mudares para as tuas colunas Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos
_Rest_ Posted June 12, 2009 at 09:25 PM Author Report #271795 Posted June 12, 2009 at 09:25 PM 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"
_Rest_ Posted June 12, 2009 at 09:36 PM Author Report #271797 Posted June 12, 2009 at 09:36 PM Ok já percebi o erro. Obrigado pela ajuda
_Rest_ Posted June 16, 2009 at 05:37 PM Author Report #272803 Posted June 16, 2009 at 05:37 PM 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
bruno1234 Posted June 16, 2009 at 08:10 PM Report #272861 Posted June 16, 2009 at 08:10 PM 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) Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos
_Rest_ Posted June 16, 2009 at 10:11 PM Author Report #272925 Posted June 16, 2009 at 10:11 PM Usei com o HAVING. Ficou a funcionar perfeitamente. Obrigado
bruno1234 Posted June 16, 2009 at 10:40 PM Report #272938 Posted June 16, 2009 at 10:40 PM Pois, com o having fica mais apresentável. Provavelmente até mais eficiente por só fazer um select, mas isso já n garanto. Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now