Boa tarde, peço ajuda dos membros desse fórum pois confesso estar completamente perdido.
Tomando como base o diagrama (em anexo), preciso de uma query que retorne as empresas, seus produtos e as categorias de cada produto, sendo que cada produto pode pertencer a uma ou mais categorias.
select
tbl_produtos.Empresa,
tbl_empresas.Nome,
tbl_catprod.Categoria,
tbl_classproduto.Classe,
tbl_produtos.Id,
tbl_produtos.Produto
from tbl_produtos
inner join tbl_empresas on tbl_produtos.Empresa = tbl_empresas.Id
left join tbl_catprod on tbl_produtos.Id = tbl_catprod.Categoria
left join tbl_classproduto on tbl_catprod.Categoria = tbl_classproduto.Id;
Tentei a consulta mostrada acima mas o resultado não foi o que eu esperava.
Agradeço antecipadamente pela ajuda.
Estou com um problema e quebrando a cabeça para resolver.
Eu preciso filtrar informação de uma tabela e somar as quantidades do período informado e trazer a quantidade total do mês para esse produto.
Segue um exemplo de como eu queria que viesse.
Ao filtrar o período do mês 01/01/2020 a 31/12/2020 ele deveria trazer para mim a seguinte informação.
Item - MES - Quantidade
PARAFUSO - JANEIRO - 40
PARAFUSO - FEVEREIRO - 20
PARAFUSO - MARÇO - 30
.....
PARAFUSO - DEZEMBRO- 10
Dentro do período informado ele trás a quantidade total do mês, porém, essa quantidade eu faço a soma pelo SUM e como eu preciso trazer o mês falar qual o mes e quantidade, ele trás mais linhas do mesmo mês, isso porque, dentro do mês ele possui registros de diversas datas, e o group by quando vê as datas diferentes não agrupam e só agrupa o que for data igual.
Como posso resolver isso? Alguém tem alguma ideia?
Boa tarde. Estou com o seguinte problema: Preciso retornar um selct da seguinte maneira:
exemplo que não funciona:
select codusur,numnota,codcli,cliente,vltotal,numtransvenda,dev,decode(vlvenda),if(vlvenda > 100 then 1 else 2)
from(
select tb1.codusur,tb1.numnota,tb1.codcli,tb1.cliente,tb1.vltotal,tb1.numtransvenda,DECODE(tb2.VLTOTAL,NULL,0,tb2.VLTOTAL)DEV
from(
select codusur,numnota,pcnfsaid.codcli,pcnfsaid.cliente,pcnfsaid.vltotal,pcnfsaid.numtransvenda
from pcnfsaid where pcnfsaid.dtsaida > '01-OCT-2020' and pcnfsaid.dtcancel is null
)tb1
left outer join
(select DISTINCT VLTOTAL,VW_INTEGRA_DEVOLUCAO_TOTAL.NUMTRANSVENDA from VW_INTEGRA_DEVOLUCAO_TOTAL )tb2
on tb1.NUMTRANSVENDA = tb2.NUMTRANSVENDA
order by numnota
)
Como pode reparar, eu usei um if/else já que não sei a forma correta de usar. Pois com DECODE não consegui usar uma forma de fazer a comparação.
Pois preciso mesmo retornar uns valores fixos. Ex:
Se o valor > 40000, retorna um valor x; Se for maior que 5000 retorna um valor y.
Aguardo a ajuda dos amigos. Grato
boa tarde.
Estou precisando de um Select que retorne uma soma que ao chegar a determinado valor ela reinicie e continue fazendo sucessivamente
select
pedido,
volume,
limite,
SUM(volume) over (order by pedido ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) saldo
from pedidos
group by pedido
o select está retornando assim porém quero que toda vez que chegue ou passe do limite resete o saldo, por exemplo parar no 100 que é o limite e começar um novo saldo
pedido volume limite saldo
1 70 100 70
2 10 100 80
3 20 100 100
4 50 100 150
5 30 100 180
preciso que ele soma o volume enquanto o saldo seja <= que o "limite", quando passar pare de somar e comece outra soma começando do 0, como no exemplo abaixo.
pedido volume limite saldo
1 70 100 70
2 10 100 80
3 20 100 100
4 50 100 50
5 30 100 80