Sql Greenplum:在表之间复制数据
我需要从表3的表1和表2中复制数据 我正在尝试执行此请求:Sql Greenplum:在表之间复制数据,sql,sql-insert,greenplum,Sql,Sql Insert,Greenplum,我需要从表3的表1和表2中复制数据 我正在尝试执行此请求: WITH sel AS ( SELECT er.local_company_pk as "local_company_pk", dv.load_dtm as "load_dtm", dv.src as "rec_src", dv.companyogrn as "ogrn", dv."CompanyID" as "company_spark_id",
WITH sel AS (
SELECT
er.local_company_pk as "local_company_pk",
dv.load_dtm as "load_dtm",
dv.src as "rec_src",
dv.companyogrn as "ogrn",
dv."CompanyID" as "company_spark_id",
dv.companyvat as "company_vat",
dv."CompanyCountryCode" as "company_country_code",
dv."CompanyShortName" as "company_short_name",
dv."CompanyFullName" as "company_full_name",
dv."CompanySize" as "company_size",
dv."CompanyRevenue" as "company_revenue",
dv."StaffQuantity" as "staff_quantity",
dv."CompanyRegionName" as "company_region_name",
dv."CompanyCityName" as "company_city_name",
dv."RegistrationDT" as "registration_dt",
dv."EndDT" as "end_dt",
dv."CompanyStatus" as "company_status",
dv."FailureIndex" as "failure_index",
dv."IndexOfDueDiligence" as "index_of_due_diligence",
dv."ConsolidateIndex" as "consolidate_index",
' ' as "hash_diff"
FROM
table1 as dv,
table2 as er
WHERE
er.inn = dv.companyvat
LIMIT 10
)
INSERT INTO
table3
SELECT *
FROM sel
而且我有错误SQL错误[42601]:错误:在“INSERT”处或附近出现语法错误
如何从表1和表2之间选择插入表3?为什么要使用CTE
INSERT INTO table3
SELECT
er.local_company_pk as "local_company_pk",
dv.load_dtm as "load_dtm",
dv.src as "rec_src",
dv.companyogrn as "ogrn",
dv."CompanyID" as "company_spark_id",
dv.companyvat as "company_vat",
dv."CompanyCountryCode" as "company_country_code",
dv."CompanyShortName" as "company_short_name",
dv."CompanyFullName" as "company_full_name",
dv."CompanySize" as "company_size",
dv."CompanyRevenue" as "company_revenue",
dv."StaffQuantity" as "staff_quantity",
dv."CompanyRegionName" as "company_region_name",
dv."CompanyCityName" as "company_city_name",
dv."RegistrationDT"::text as "registration_dt",
---------------------------^ you can cast the value
dv."EndDT" as "end_dt",
dv."CompanyStatus" as "company_status",
dv."FailureIndex" as "failure_index",
dv."IndexOfDueDiligence" as "index_of_due_diligence",
dv."ConsolidateIndex" as "consolidate_index",
' ' as hash_diff
FROM table1 as dv JOIN
table2 as er
ON er.inn = dv.companyvat
LIMIT 10
我还修复了您的中断的JOIN
语法。表3中如何定义注册?如果它已经是日期,则无需在您的选择中强制转换它。错误消息表明它被定义为日期。我正在尝试使用INSERT INTO wiht SELECT(现在我修复了连接语法,谢谢),我还有另一个错误:``SQL error[42804]:错误:列“registration_dt”的类型为日期,但表达式的类型为字符变化提示:您需要重写或强制转换表达式```