나는이 쿼리에서 세 가지 테이블의 값을 계산하고 각각에서 두 개의 열, 날짜 및 개수를 구합니다. 첫 번째 12 초 동안 세 번째 레코드를 얻고 세 번째 레코드를 12 번 가져옵니다. 마지막으로 두 번째 열의 날짜가 일치하는 모든 테이블에서이 계산 열에서 계산을 조금하고 있습니다.날짜 기준으로 계산 계산
예를 들어 첫 번째 테이블 열의 날짜가 두 번째 및 세 번째 열과 일치하면 이 값과 그것의 비율을 얻는 중 ... 비록 그것에 대한 쿼리를 만들었지 만 정확한 데이터를 제공하고 있습니다 ...
나는이 테이블을 날짜를 기준으로 계산할 수있는 방법을 알아야합니다. 나는 오라클 DB
SELECT TRUNC(ans.date),
(a.count1+b.count2+c.count3)*100/count4 AS status
FROM
(SELECT COUNT(pans.actual)count1,
TRUNC(ans.date) AS subdate
FROM pans, ans
WHERE pans.actres ='1'
AND TRUNC(anss.date) > sysdate-100
AND pans.id = anss.id
GROUP BY TRUNC(anss.date)
)a,
(SELECT COUNT(conans.actres)count2,
TRUNC(anss.date) AS subdate
FROM conans, anss
WHERE conans.actres ='1'
AND TRUNC(anss.date) > sysdate-100
AND conans.id = anss.id
GROUP BY TRUNC(anss.date)
)b,
(SELECT COUNT(anss.submitted)count3,
TRUNC(anss.date) AS subdate
FROM anss
WHERE submitted = 1
AND TRUNC(anss.date) > sysdate-100
GROUP BY TRUNC(anss.date)
)c,
(SELECT COUNT(pans.actres) count4
FROM pans, anss
WHERE anss.date > sysdate-100
)d,
anss,
pans
WHERE a.subdate = b.subdate
AND b.subdate = c.subdate
AND a.subdate = c.subdate
AND TRUNC(anss.date) > sysdate-100
GROUP BY TRUNC(anss.date),a.count1,b.count2,c.count3,d.count4
count1
------------------
count | date
3 | 12/12/1928
5 | 12/12/1998
6 | 12/12/1995
count2
------------------
count| date
3 | 12/12/1928
5 | 12/12/1998
6 | 12/12/1995
23 | 12/12/1924
56 | 12/12/1993
68 | 12/12/1992
39 | 12/12/1921
58 | 12/12/1990
63 | 12/12/1999
는
count3
------------------
count| date
3 | 12/12/1928
5 | 12/12/1998
6 | 12/12/1995
23 | 12/12/1924
56 | 12/12/1993
68 | 12/12/1992
39 | 12/12/1921
58 | 12/12/1990
63 | 12/12/1999
count4
------------------
4500
(count1+count2+count3)*100/count4
when count1.date=count2date=count3.date
HTH