Ir para conteúdo
Fórum Script Brasil

JP1

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre JP1

JP1's Achievements

0

Reputação

  1. JP1

    Um problema interessante...

    Achei um jeito de fazer... se alguém achar um jeito melhor.... ( select m.material, t1.soma + t2.soma from (select m.idmaterial id, m.material nome, sum(md.quantReal) soma from material m, diarioobra dio, material_diarioobra md where m.idmaterial = md.idmaterial and md.iddiarioobra = dio.iddiarioobra group by m.idmaterial) as t1, (select m.idmaterial id, m.material nome, sum(mos.quantReal) soma from material m, ordemservico os, material_os mos where m.idmaterial = mos.idmaterial and mos.idos=os.idordemservico group by m.idmaterial) as t2, material m where m.idmaterial = t1.id and m.idmaterial = t2.id ) union ( select m.material nome, sum(md.quantReal) soma from material m, diarioobra dio, material_diarioobra md where m.idmaterial = md.idmaterial and md.iddiarioobra = dio.iddiarioobra and m.idmaterial not in ( select m.idmaterial from (select m.idmaterial id, m.material nome, sum(md.quantReal) soma from material m, diarioobra dio, material_diarioobra md where m.idmaterial = md.idmaterial and md.iddiarioobra = dio.iddiarioobra group by m.idmaterial) as t1, (select m.idmaterial id, m.material nome, sum(mos.quantReal) soma from material m, ordemservico os, material_os mos where m.idmaterial = mos.idmaterial and mos.idos=os.idordemservico group by m.idmaterial) as t2, material m where m.idmaterial = t1.id and m.idmaterial = t2.id) group by m.idmaterial ) union ( select m.material nome, sum(mos.quantReal) soma from material m, ordemservico os, material_os mos where m.idmaterial = mos.idmaterial and mos.idos=os.idordemservico and m.idmaterial not in ( select m.idmaterial from (select m.idmaterial id, m.material nome, sum(md.quantReal) soma from material m, diarioobra dio, material_diarioobra md where m.idmaterial = md.idmaterial and md.iddiarioobra = dio.iddiarioobra group by m.idmaterial) as t1, (select m.idmaterial id, m.material nome, sum(mos.quantReal) soma from material m, ordemservico os, material_os mos where m.idmaterial = mos.idmaterial and mos.idos=os.idordemservico group by m.idmaterial) as t2, material m where m.idmaterial = t1.id and m.idmaterial = t2.id) group by m.idmaterial );
  2. Sou novo no fórum... Mas estou com um probleminha interessante... Tenho 5 tabelas: IMAGEM com DER e MER link Preciso de uma consulta que me fala quanto gastei de um material especifico em uma determinada data... OBS: Eu posso ter gasto material no diarioobra quando no ordemservico. Pensei em alguma coisa parecida com isso aqui: select m.material, sum(md.quantReal) + sum(mos.quantReal) from material m, diarioobra dio, material_diarioobra md, ordemservico os, material_os mos where (m.idmaterial = md.idmaterial and md.iddiarioobra = dio.iddiarioobra) or (m.idmaterial = mos.idmaterial and mos.idos=os.idordemservico) group by m.idmaterial; Mas primeiramente ignorei a data especifica pois era só acrescentar depois, e em segundo não ia dar certo pois em qualquer ocasião que fosse achado o valor na tabela seria somado nos dois sum. Então to no escuro.
×
×
  • Criar Novo...