Jump to content
Fórum Script Brasil
  • 0

Um problema interessante...


JP1

Question

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.

Edited by JP1
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0
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.

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

);

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...