Я хочу получить некоторые цифры, и их сумма должна быть больше нуля между следующими временными шкалами: Day-7> 0 и Day-14> 0 и Day-21> 0. Я пытаюсь выяснить, есть ли способ объединить три оператора sql в один звонок более эффективно?Эффективные SQL-комбинирующие повторяющиеся запросы в одном
SELECT DISTINCT NUMBER FROM (
SELECT NUMBER,SUM(DATA) DATA
FROM TABLEA
WHERE
DATEID >= TO_NUMBER(TO_CHAR(SYSDATE-7,'YYYYMMDD'))
GROUP BY VF_NUMBER
HAVING SUM(DATA) > 0
AND
SELECT NUMBER,SUM(DATA) DATA
FROM TABLEA
WHERE
DATEID >= TO_NUMBER(TO_CHAR(SYSDATE-14,'YYYYMMDD'))
GROUP BY VF_NUMBER
HAVING SUM(DATA) > 0
AND
SELECT NUMBER,SUM(DATA) DATA
FROM TABLEA
WHERE
DATEID >= TO_NUMBER(TO_CHAR(SYSDATE-21,'YYYYMMDD'))
GROUP BY VF_NUMBER
HAVING SUM(DATA) > 0
)
Что проблема с использованием UNION ALL и соединение запросов в одном одном – XING