Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Greenplum:在表之间复制数据_Sql_Sql Insert_Greenplum - Fatal编程技术网

Sql Greenplum:在表之间复制数据

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",

我需要从表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",
        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”的类型为日期,但表达式的类型为字符变化提示:您需要重写或强制转换表达式```