Вот моя проблема.Я создаю 4 временные таблицы для подсчета определенных типов ящиков и часов сотрудника.Учитывая дату начала и дату окончания, мы хотим знать общее количество блоков каждого типа (1, 2 и 3) и их общее количество часов, отработанных в этот период времени.Все работает отлично, если есть хотя бы один из каждого типа, но если присутствуют только два типа, тогда я получаю пустой результат для всего окончательного оператора SELECT.
Итак, может ли оператор SELECT, который содержит пустой темптаблица в строке FROM заставляет все остальное возвращать пустое значение?
Например, диапазон дат от 6-1-10 до 6-10-10 возвращает 10 блоков типа 1, 12 блоков типа 2, 0 блоков типа 3и 36 часов, но результат отображается пустым.Но если его продлить на один день и включить 15 блоков типа 3, запрос сработает.
SELECT Count(isnull(Box_Num,0)) as Box1, emp_num INTO #Box1
FROM TEST.dbo.Prod_beta2
WHERE BoxType like '1' and time > '06/01/10' + ' 12:01 AM' and time < '06/10/10' + ' 11:59pm' and emp_num like '10467'
group by emp_num
SELECT Count(isnull(Box_Num,0)) as Box2, emp_num INTO #Box2
FROM TEST.dbo.Prod_beta2
WHERE BoxType like '2' and time > '06/01/10' + ' 12:01 AM' and time < '06/10/10' + ' 11:59pm' and emp_num like '10467'
group by emp_num
SELECT count(isnull(box_num,0)) as Box3, emp_num INTO #Box3
from TEST.dbo.Prod_beta2
WHERE BoxType like '3' and time > '06/01/10' + ' 12:01 AM' and time < '06/10/10' + ' 11:59pm' and emp_num like '10467'
group by emp_num
SELECT SUM(HOURS) as TotalHours, empid INTO #Hours
FROM TEST.dbo.Timeclock
where timein > '06/01/10' + ' 12:01 AM' and timein < '06/10/10' + ' 11:59pm' and empid like '10467'
group by empid
SELECT Box1, Box2, Box3, TotalHours
FROM #Box1, #Box2, #Box3, #Hours
DROP TABLE #Box1, #Box2, #Box3, #Hours