Я получаю агрегированное количество записей для заказов и получаю ожидаемое количество для этого базового запроса:
SELECT
count(*) as sales_180,
180/count(*) as velocity
FROM custgroup g
WHERE g.cstnoc = 10617
AND g.framec = 4847
AND g.covr1c = 1763
AND g.colr1c = 29
AND date(substr(g.extd1d,1,4)||'-'||substr(g.EXTD1d,5,2)||'-'||substr(g.EXTD1d,7,2) ) between current_Date - 180 DAY AND current_Date
Но как только я добавлю обратно в свои объединения и объединенные значения,мой счет идет от 1 (что должно быть) до более чем 200. Все, что мне нужно от этих объединений, это идентификатор клиента и номер менеджера.так что даже если мой счет высокий, я просто пытаюсь сказать "для этого cstnoc, дайте мне slsupr и xlsno"
Как я могу выполнить этот запрос ниже, не влияя на количество?Я только хочу, чтобы мой счетчик (sales_180 и скорость) исходил из таблицы custgroup на основе моего предложения where, но тогда я просто хочу одно значение xcstno и xslsno на основе cstnoc.
SELECT
count(*) as sales_180,
180/count(*) as velocity,
c.xslsno as CustID,
cr.slsupr as Manager
FROM custgroup g
inner join customers c
on g.cstnoc = c.xcstno
inner join managers cr
on c.xslsno = cr.xslsno
WHERE g.cstnoc = 10617
AND g.framec = 4847
AND g.covr1c = 1763
AND g.colr1c = 29
AND date(substr(g.extd1d,1,4)||'-'||substr(g.EXTD1d,5,2)||'-'||substr(g.EXTD1d,7,2) ) between current_Date - 180 DAY AND current_Date
GROUP BY c.xslsno, cr.slsupr