У меня есть таблица под названием «проверка» и схема под названием «сырая». Оба столбца Boro, Inspection_date являются varchar
Я пытаюсь выполнить преобразование и сохранить в новой схеме под названием «curated» и имени таблицы под названием «insp».
Ниже приведен код, который я написал
CREATE OR REPLACE SCHEMA Curated;
CREATE OR REPLACE TABLE CURATED.Insp (
"Total Inspections" INTEGER,
Boro VARCHAR(50),
Year INTEGER
);
INSERT INTO curated.Insp ("Total Inspections", Boro, Year)
SELECT Boro, COUNT(*) AS "Total Inspections", YEAR(CAST(Inspection_date AS DATE)) AS "Year"
FROM raw.inspection
WHERE YEAR(CAST(Inspection_date AS DATE)) >= 2000 AND Boro NOT LIKE 0
GROUP BY YEAR(CAST(Inspection_date AS DATE)),BORO
ORDER BY YEAR(CAST(Inspection_date AS DATE)) DESC;
Я получаю ошибку ниже
Numeric value 'Bronx' is not recognized
Не уверен, в чем здесь проблема? Столбец Боро имеет 0, но я создал столбец как varchar. Может ли кто-нибудь посоветовать, пожалуйста?
Я удалил тег <ansi-sql>, так как здесь используются несколько функций, отличных от ANSI.
Вы должны изменить порядок столбцов в SELECT
INSERT INTO curated.Insp ("Total Inspections", Boro, Year)
SELECT COUNT(*) AS "Total Inspections", Boro, YEAR(CAST(Inspection_date AS DATE)) AS "Year"
FROM raw.inspection
WHERE YEAR(CAST(Inspection_date AS DATE)) >= 2000 AND Boro NOT LIKE 0
GROUP BY YEAR(CAST(Inspection_date AS DATE)),BORO
ORDER BY YEAR(CAST(Inspection_date AS DATE)) DESC;
Проверьте порядок столбцов в источнике и назначении: ВСТАВЬТЕ В КАРАТИРОВАННЫЙ. Insp (
"Total Inspections"
, Боро, Год) ВЫБЕРИТЕBoro
, СЧЕТЧИК (*) КАК «Общее количество проверок», ГОД (CAST (дата_проверки КАК ДАТА)) КАК «Год»