Ajuda com Query avançada!
26/05/2017
0
Galera é o seguinte, tenho que criar um relatório no SAP Business One, até ai beleza, ja criei, só que a pessoa q pediu o relatorio quer outro, beleza fui la e criei, ai ela disse que precisa da informação das duas tabelas juntas, vou postar os códigos e ver se alguem cosnegue me ajudar!
esse relatorio conta a quantidade de notas ficais faturadas de um lado e o outro a quantidade de notas devolvidas:
select COUNT(1) AS NF
,0 AS DEV
from OINV T0 where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
union
select 0 AS NF
, COUNT(1) AS DEV
from ORIN T0 where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
esse aqui mostra quais notas foram devolvidas no periodo que a pessoa seleciona
Ambos estão funcionando, só que a pessoa que me pediu quer que tambem contenha
ela me disse isso:
"Vc consegue ajustar pra que considere também uma coluna das notas totais faturadas no período e somatórios ao final de cada coluna (notas faturadas e notas devolvidas)?"
Obs: não sei pq mas não consegui colocar em código
esse relatorio conta a quantidade de notas ficais faturadas de um lado e o outro a quantidade de notas devolvidas:
select COUNT(1) AS NF
,0 AS DEV
from OINV T0 where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
union
select 0 AS NF
, COUNT(1) AS DEV
from ORIN T0 where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
esse aqui mostra quais notas foram devolvidas no periodo que a pessoa seleciona
select T0.DocEntry ,T0.CardCode ,T0.CardName from ORIN T0 where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
Ambos estão funcionando, só que a pessoa que me pediu quer que tambem contenha
ela me disse isso:
"Vc consegue ajustar pra que considere também uma coluna das notas totais faturadas no período e somatórios ao final de cada coluna (notas faturadas e notas devolvidas)?"
Obs: não sei pq mas não consegui colocar em código
Leonardo Silva
Curtir tópico
+ 0
Responder
Posts
01/06/2017
Rene
Bom dia!!!
Se a ligação dos campos que imagino que seja correta na ultima linha for dessa maneira, o comando ficaria assim:
Select tab1.NF,
tab1.DEV,
tab2.Coluna1,
tab2.Coluna2,
tab2.Coluna3,
(tab1.DEV + tab2.Coluna1 + tab2.Coluna2 + tab2.Coluna3) Soma
from (
select COUNT(1) AS NF
,0 AS DEV
from OINV T0
where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
group by 'CodNF precisa colocar aqui pra ligar'
union
select 0 AS NF
, COUNT(1) AS DEV
from ORIN T0
where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
group by 'CodNF precisa colocar aqui pra ligar'
)Tab1 left join
(
select
T0.DocEntry as Coluna1,
T0.CardCode as Coluna2,
T0.CardName as Coluna3
from ORIN T0
where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
)
tab2 on (tab2.T0.CardCode = tab1.NF)
Se a ligação dos campos que imagino que seja correta na ultima linha for dessa maneira, o comando ficaria assim:
Select tab1.NF,
tab1.DEV,
tab2.Coluna1,
tab2.Coluna2,
tab2.Coluna3,
(tab1.DEV + tab2.Coluna1 + tab2.Coluna2 + tab2.Coluna3) Soma
from (
select COUNT(1) AS NF
,0 AS DEV
from OINV T0
where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
group by 'CodNF precisa colocar aqui pra ligar'
union
select 0 AS NF
, COUNT(1) AS DEV
from ORIN T0
where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
group by 'CodNF precisa colocar aqui pra ligar'
)Tab1 left join
(
select
T0.DocEntry as Coluna1,
T0.CardCode as Coluna2,
T0.CardName as Coluna3
from ORIN T0
where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
)
tab2 on (tab2.T0.CardCode = tab1.NF)
Responder
06/06/2017
Emerson Nascimento
seria isso?
select COUNT(1) AS NF, SUM(T0.coluna_valor) AS VALORNF,
,0 AS DEV, 0 AS VALORDEV
from OINV T0 where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
union
select 0 AS NF, 0 AS VALORNF,
, COUNT(1) AS DEV, SUM(T0.coluna_valor) AS VALORDEV
from ORIN T0 where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
select COUNT(1) AS NF, SUM(T0.coluna_valor) AS VALORNF,
,0 AS DEV, 0 AS VALORDEV
from OINV T0 where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
union
select 0 AS NF, 0 AS VALORNF,
, COUNT(1) AS DEV, SUM(T0.coluna_valor) AS VALORDEV
from ORIN T0 where T0.U_Consig = 'N' and T0.DocDate between '[%0]' and '[%1]'
Responder
Clique aqui para fazer login e interagir na Comunidade :)