Я соединяю данные из двух разных подзапросов для того же диапазона дат. У меня есть рабочий запрос прямо сейчас, который определяет диапазон дат в каждом подзапросе. В идеале я бы не обновлял даты в двух разных местах каждый раз, когда я запускаю запрос для нового диапазона дат, поэтому я ищу способ ввода параметров даты в одном месте и передачи их в оба подзапроса. Я попытался вложить один запрос в другой, и я попытался полностью удалить диапазоны дат из подзапросов и разгладить результаты за пределами подзапросов, но оба метода привели к серьезному результату.Обмен параметрами между подзапросами
Вот упрощенная версия моего запроса:
SELECT qVolTbl.QUEUEID,
qVolTbl.Queue_Volume,
qVolTbl.CAMPAIGNID,
camVolTbl.Campaign_Volume
FROM (
SELECT QHISTORY.QUEUEID,
SUM(QHISTORY.CALLVOLUME) AS Queue_Volume,
QHISTORY.CAMPAIGNID
FROM QHISTORY
WHERE QHISTORY.DATE BETWEEN CONVERT(DATETIME, '01-NOV-2014')
AND CONVERT(DATETIME, '30-NOV-2014')
GROUP BY QHISTORY.QUEUEID,
QHISTORY.CAMPAIGNID
) qVolTbl
LEFT JOIN (
SELECT SP.CAMPAIGNID,
SUM(QHISTORY.CALLVOLUME) as Campaign_Volume
FROM QHISTORY
WHERE QHISTORY.DATE BETWEEN CONVERT(DATETIME, '01-NOV-2014')
AND CONVERT(DATETIME, '30-NOV-2014')
GROUP BY SP.CAMPAIGNID
) camVolTbl
ON camVolTbl.CAMPAIGNID = qVolTbl.CAMPAIGNID
Более подробная информация о чем я работаю, если необходимо:
Я запрашивая данные об объеме от иерархии, где " Том »входит в« Очереди », которые сгруппированы в« Кампании ». Я хочу, чтобы результаты, состоящий из общего объема для каждой очереди на той же строке, что и общий объем для кампании очередь принадлежит это нравится:
| QUEUEID | QUEUE_VOLUME | CAMPAIGNID | CAMPAIGN_VOLUME |
---------------------------------------------------------
| 001 | 200 | 001 | 500 |
| 002 | 300 | 001 | 500 |
| 003 | 100 | 002 | 350 |
| 004 | 250 | 002 | 350 |
Почему бы не объявить переменные даты и не использовать их в обоих запросах – radar