E
elenn0
Здравствуйте,
есть в нижеследующем запросе подзапрос(MITT1) в JOIN работает верно только если в главном запросе нужно вернуть данные для одного значения,если вносится несколько -тогда подзапрос суммирует и подсчитывает их все!
Вопрос: как обратиться (или может разместить его иначе) к подзапрсу такб чтобы он подсчитывал каждый раз данные для одного знаяенияб затем делал еще круг и пригосил данные для второго и т,д.?
SELECT MLITNO
,MITT1.FIRST_DATE_WOM ,MITT1.LAST_DATE_WOM ,MITT1.COUNT_WOM,MITT1.SUM_NIPOK,MITT1.AVG_BATCH
FROM MVXJDTA.MITLOC
LEFT JOIN (SELECT DISTINCT MTCONO,MTWHLO,MTITNO, COUNT(LEFT(MTTRDT,6)) OVER() AS WORK_MONTH ,SUM(COUNT(MTTRDT)) OVER() AS COUNT_WOM
,MIN(MIN(MTTRDT)) OVER()FIRST_DATE_WOM
,MAX(MAX(MTTRDT)) OVER()LAST_DATE_WOM
,SUM(SUM(MTTRQT)) OVER()SUM_NIPOK
,(SUM(SUM(MTTRQT)) OVER()/SUM(COUNT(MTTRDT)) OVER())AS AVG_BATCH
FROM MVXJDTA.MITTRA
WHERE MTCONO=1 AND MTWHLO='200' AND MTTTID ='WOM'
GROUP BY MTCONO,MTWHLO,MTITNO,LEFT(MTTRDT,6)
) MITT1 ON MITT1.MTCONO=MLCONO AND MITT1.MTWHLO=MLWHLO AND MITT1.MTITNO=MLITNO
WHERE MLCONO=1
and MLITNO between '1379520041' AND '1379530041'
GROUP BY MLITNO
,MITT1.FIRST_DATE_WOM ,MITT1.LAST_DATE_WOM ,MITT1.COUNT_WOM,MITT1.SUM_NIPOK,MITT1.AVG_BATCH
есть в нижеследующем запросе подзапрос(MITT1) в JOIN работает верно только если в главном запросе нужно вернуть данные для одного значения,если вносится несколько -тогда подзапрос суммирует и подсчитывает их все!
Вопрос: как обратиться (или может разместить его иначе) к подзапрсу такб чтобы он подсчитывал каждый раз данные для одного знаяенияб затем делал еще круг и пригосил данные для второго и т,д.?
SELECT MLITNO
,MITT1.FIRST_DATE_WOM ,MITT1.LAST_DATE_WOM ,MITT1.COUNT_WOM,MITT1.SUM_NIPOK,MITT1.AVG_BATCH
FROM MVXJDTA.MITLOC
LEFT JOIN (SELECT DISTINCT MTCONO,MTWHLO,MTITNO, COUNT(LEFT(MTTRDT,6)) OVER() AS WORK_MONTH ,SUM(COUNT(MTTRDT)) OVER() AS COUNT_WOM
,MIN(MIN(MTTRDT)) OVER()FIRST_DATE_WOM
,MAX(MAX(MTTRDT)) OVER()LAST_DATE_WOM
,SUM(SUM(MTTRQT)) OVER()SUM_NIPOK
,(SUM(SUM(MTTRQT)) OVER()/SUM(COUNT(MTTRDT)) OVER())AS AVG_BATCH
FROM MVXJDTA.MITTRA
WHERE MTCONO=1 AND MTWHLO='200' AND MTTTID ='WOM'
GROUP BY MTCONO,MTWHLO,MTITNO,LEFT(MTTRDT,6)
) MITT1 ON MITT1.MTCONO=MLCONO AND MITT1.MTWHLO=MLWHLO AND MITT1.MTITNO=MLITNO
WHERE MLCONO=1
and MLITNO between '1379520041' AND '1379530041'
GROUP BY MLITNO
,MITT1.FIRST_DATE_WOM ,MITT1.LAST_DATE_WOM ,MITT1.COUNT_WOM,MITT1.SUM_NIPOK,MITT1.AVG_BATCH