확인, 미안 종류의 지금, 그래서 여기에 전체 코드 패배 : 내가 무슨 일이 원하는 것은, 공급 업체
select
X.VENDEDOR AS VENDEDOR,
X.VENDNM AS VENDNM,
X.NO AS NO,
X.nome AS nome,
isnull(sum(x.qtt_1),0) as Qtt_1,
isnull(sum(x.qtt_2),0) as Qtt_2,
#2# as Data1,
#3# as Data2,
#4# as Data3,
#5# as Data4,
(SELECT DESIGN FROM ST WHERE ST.forref ='*br1000*') AS ARTIGO,
(select isnull(sum(pn.qtt),0) from pn where pn.vendedor in (1,2,3,4,5,6,7,8,9) and (pn.fdata BETWEEN #2# AND #3#) and pn.usr1 not like '%'+'Portes'+'%') as Total1,
(select isnull(sum(pn.qtt),0) from pn where pn.vendedor in (1,2,3,4,5,6,7,8,9) and (pn.fdata BETWEEN #4# AND #5#) and pn.usr1 not like '%'+'Portes'+'%') as Total2,
((select isnull(sum(pn.qtt),0) from pn where pn.vendnm like x.vendnm and (pn.fdata BETWEEN #4# AND #5#) and pn.usr1 not like '%'+'Portes'+'%')-(select isnull(sum(pn.qtt),0) from pn where pn.vendnm like x.vendnm and (pn.fdata BETWEEN #2# AND #3#) and pn.usr1 not like '%'+'Portes'+'%')) as Dif_Total_Vend,
isnull(
round((((select sum(pn.qtt) from pn where pn.vendedor in (1,2,3,4,5,6,7,8,9) and (pn.fdata BETWEEN #4# AND #5#) and pn.usr1 not like '%'+'Portes'+'%')
-
(select sum(pn.qtt) from pn where pn.vendedor in (1,2,3,4,5,6,7,8,9) and (pn.fdata BETWEEN #2# AND #3#) and pn.usr1 not like '%'+'Portes'+'%'))/
(select sum(pn.qtt) from pn where pn.vendedor in (1,2,3,4,5,6,7,8,9) and (pn.fdata BETWEEN #2# AND #3#) and pn.usr1 not like '%'+'Portes'+'%'))*100,2),0) as Perc_Dif,
isnull(
round((((select sum(pn.qtt) from pn where pn.vendnm like x.vendnm and (pn.fdata BETWEEN #4# AND #5#) and pn.usr1 not like '%'+'Portes'+'%')
-
(select sum(pn.qtt) from pn where pn.vendnm like x.vendnm and (pn.fdata BETWEEN #2# AND #3#) and pn.usr1 not like '%'+'Portes'+'%'))/
(select sum(pn.qtt) from pn where pn.vendnm like x.vendnm and (pn.fdata BETWEEN #2# AND #3#) and pn.usr1 not like '%'+'Portes'+'%'))*100,2),0) as Perc_Dif_Vend
from
(
select
pn.vendedor as Vendedor,
pn.vendnm as Vendnm,
pn.no as No,
(select nome from cl where cl.no=pn.no) as nome,
pn.qtt as Qtt_1,
0 as Qtt_2
from pn
where (pn.fdata BETWEEN #2# AND #3#)
union all
select
pn.vendedor as Vendedor,
pn.vendnm as Vendnm,
pn.no as No,
(select nome from cl where cl.no=pn.no) as nome,
0 as Qtt_1,
pn.qtt as Qtt_2
from pn
where (pn.fdata BETWEEN #4# AND #5#) AND (pn.Vendedor '3' == pn.Vendedor '7')
)
x
group by x.no,x.nome, x.vendedor,x.vendnm
order by x.nome,x.vendedor
입니다
'3'숫자 '7'교체오고, 숫자 '8'이 '9'를 대체했습니다. 내가 원하는 것은 숫자 '3'과 '7'의 결과가 하나 (숫자 '8'과 '9'와 같은 것) 인 경우 중복 결과가 나타납니다.
이 부분에 대해 궁금한 점이 있으십니까? 정말로 손을 사용할 수 있습니다 :) – questionador
이 답장을 추가 할 때 새로운 추가 기능이있는 것으로 나타났습니다. 미안하지만 당신이 보여준 코드는 내가 사용하는 데이터베이스 (VFP, PostgreSQL, MS SQL 서버, SQLite 및 기타)에서 유효한 SQL이 아닙니다. 어떤 데이터베이스입니까? 그것은 당신이하려는 것을 이해하는 것을 더 어렵게 만듭니다. 어쩌면 대신 샘플 데이터와 예상 출력을 제공해야합니다 (물론 어떤 데이터베이스를 사용하고 있는지). –
나는 그것의 시각적 인 여우 프로, 그 어딘가에 SQL과 믿습니다 ...하지만 SQL은 작동합니다. 나는 일종의 그것을 밖으로 일했지만, 원시인 방식으로, 만약 당신이 어떤 thougth ... – questionador