Я получаю следующую ошибку:
Сообщение 207, Уровень 16, Состояние 1, Строка 3
Неверное имя столбца 'naicscode'
Задачапод рукой запрашивает таблицу с именем Xyzfirms201701 и получает следующий результат в ответ.
area sizeclassep Number of worksites employment in size class
-----------------------------------------------------------------------
000000 01 46673 48975
000000 02 32105 54111
Я использую следующий код, чтобы попытаться произвести это:
;WITH sizeclasseptable AS
(
SELECT
area, naicscode, ownership, sizeclassep
FROM
(SELECT '01' AS sizeclassep, '50' AS ownership
UNION SELECT '02' AS sizeclassep, '50' AS ownership
UNION SELECT '03' AS sizeclassep, '50' AS ownership
UNION SELECT '04' AS sizeclassep, '50' AS ownership
UNION SELECT '05' AS sizeclassep, '50' AS ownership
UNION SELECT '06' AS sizeclassep, '50' AS ownership
UNION SELECT '07' AS sizeclassep, '50' AS ownership
UNION SELECT '08' AS sizeclassep, '50' AS ownership
UNION SELECT '09' AS sizeclassep, '50' AS ownership) t0
CROSS JOIN
(SELECT DISTINCT area FROM xyzfirms201701) t1
)
SELECT
'000000' AS area,
t2.[SizeClassep],
COUNT(*) AS [Number of Worksites],
SUM(t2.Employment) AS [Employment In Size Class]
FROM
sizeclasseptable
LEFT JOIN
xyzfirms201701 t2 ON t2.area = sizeclasseptable.area
AND t2.naicscode = sizeclasseptable.naicscode
AND t2.ownership = sizeclasseptable.ownership
WHERE
t2.naicscode LIKE '11%' OR t2.naicscode LIKE '21%'
GROUP BY
[t2.SizeClassep]
ORDER BY
[t2.SizeClassep];
Цель первого раздела - заставить SQL производить вывод, даже если данные это делают.не существует.Например, размер classep = 09 будет временами не существовать.Это представляет компанию, которая нанимает 1000 или более в данной отрасли (naicscode).Любые идеи относительно того, почему я получаю неверную ошибку столбца?