尝试在 Redshift 中创建视图时出错

Posted

技术标签:

【中文标题】尝试在 Redshift 中创建视图时出错【英文标题】:Getting error when trying to create view in Redshift 【发布时间】:2019-02-22 08:30:48 【问题描述】:
CREATE OR REPLACE VIEW fq0clnt100.sv_0material_test AS 
 SELECT a.matnr, a.ersda, a.ernam, a.laeda, a.aenam, a.vpsta, a.pstat, a.lvorm, a.mtart, a.mbrsh, a.matkl, a.bismt, a.meins, a.bstme, a.zeinr, a.zeiar, a.zeivr, a.zeifo, a.aeszn, a.blatt, a.blanz, a.ferth, a.formt, a.groes, a.wrkst, a.normt, a.labor, a.ekwsl, a.brgew, a.ntgew, a.gewei, a.volum, a.voleh, a.behvo, a.raube, a.tempb, a.disst, a.tragr, a.stoff, a.spart, a.kunnr, a.eannr, a.wesch, a.bwvor, a.bwscl, a.saiso, a.etiar, a.etifo, a.entar, a.ean11, a.numtp, a.laeng, a.breit, a.hoehe, a.meabm, a.prdha, a.aeklk, a.cadkz, a.qmpur, a.ergew, a.ergei, a.ervol, a.ervoe, a.gewto, a.volto, a.vabme, a.kzrev, a.kzkfg, a.xchpf, a.vhart, a.fuelg, a.stfak, a.magrv, a.begru, a.datab, a.liqdt, a.saisj, a.plgtp, a.mlgut, a.extwg, a.satnr, a.attyp, a.kzkup, a.kznfm, a.pmata, a.mstae, a.mstav, a.mstde, a.mstdv, a.taklv, a.rbnrm, a.mhdrz, a.mhdhb, a.mhdlp, a.inhme, a.inhal, a.vpreh, a.etiag, a.inhbr, a.cmeth, a.cuobf, a.kzumw, a.kosch, a.sprof, a.nrfhg, a.mfrpn, a.mfrnr, a.bmatn, a.mprof, a.kzwsm, a.saity, a.profl, a.ihivi, a.iloos, a.serlv, a.kzgvh, a.xgchp, a.kzeff, a.compl, a.iprkz, a.rdmhd, a.przus, a.mtpos_mara, a.bflme, a.zzekgrp, a."class", a.zzgfklm, a.evers, a.zzsubmt, a.zzherst, a.zzartnum, a.changemode, a.entitycounter, a.loadtime, b.txtmd, c.mm_materialg013
   FROM fq0clnt100.st_0material_attr a
   LEFT JOIN fq0clnt100.st_0material_text b ON a.matnr::text = b.matnr::text AND b.spras::text = 'E'::character varying::text
   LEFT JOIN fq0clnt100.st_1cl_omat001 c ON a.matnr::text = c.matnr::text;
   LEFT JOIN arriva_group.st_sa_mat_mapping_sap d on  a.matnr like '%'||d.material ;  

错误:“Left”处或附近的语法错误(仅适用于最后一行)

【问题讨论】:

我不知道红移,但是第二个左连接末尾的分号是可疑的。 【参考方案1】:

去掉第5行的分号

CREATE OR REPLACE VIEW fq0clnt100.sv_0material_test AS 
SELECT a.matnr, a.ersda, a.ernam, a.laeda, a.aenam, a.vpsta, a.pstat, a.lvorm, a.mtart, a.mbrsh, a.matkl, a.bismt, a.meins, a.bstme, a.zeinr, a.zeiar, a.zeivr, a.zeifo, a.aeszn, a.blatt, a.blanz, a.ferth, a.formt, a.groes, a.wrkst, a.normt, a.labor, a.ekwsl, a.brgew, a.ntgew, a.gewei, a.volum, a.voleh, a.behvo, a.raube, a.tempb, a.disst, a.tragr, a.stoff, a.spart, a.kunnr, a.eannr, a.wesch, a.bwvor, a.bwscl, a.saiso, a.etiar, a.etifo, a.entar, a.ean11, a.numtp, a.laeng, a.breit, a.hoehe, a.meabm, a.prdha, a.aeklk, a.cadkz, a.qmpur, a.ergew, a.ergei, a.ervol, a.ervoe, a.gewto, a.volto, a.vabme, a.kzrev, a.kzkfg, a.xchpf, a.vhart, a.fuelg, a.stfak, a.magrv, a.begru, a.datab, a.liqdt, a.saisj, a.plgtp, a.mlgut, a.extwg, a.satnr, a.attyp, a.kzkup, a.kznfm, a.pmata, a.mstae, a.mstav, a.mstde, a.mstdv, a.taklv, a.rbnrm, a.mhdrz, a.mhdhb, a.mhdlp, a.inhme, a.inhal, a.vpreh, a.etiag, a.inhbr, a.cmeth, a.cuobf, a.kzumw, a.kosch, a.sprof, a.nrfhg, a.mfrpn, a.mfrnr, a.bmatn, a.mprof, a.kzwsm, a.saity, a.profl, a.ihivi, a.iloos, a.serlv, a.kzgvh, a.xgchp, a.kzeff, a.compl, a.iprkz, a.rdmhd, a.przus, a.mtpos_mara, a.bflme, a.zzekgrp, a."class", a.zzgfklm, a.evers, a.zzsubmt, a.zzherst, a.zzartnum, a.changemode, a.entitycounter, a.loadtime, b.txtmd, c.mm_materialg013
FROM fq0clnt100.st_0material_attr a
LEFT JOIN fq0clnt100.st_0material_text b ON a.matnr::text = b.matnr::text AND b.spras::text = 'E'::character varying::text
LEFT JOIN fq0clnt100.st_1cl_omat001 c ON a.matnr::text = c.matnr::text
LEFT JOIN arriva_group.st_sa_mat_mapping_sap d on  a.matnr like '%'||d.material ;

【讨论】:

以上是关于尝试在 Redshift 中创建视图时出错的主要内容,如果未能解决你的问题,请参考以下文章

在 Redshift 中创建 python UDF 时出错

在实体框架 EDMX 中创建视图之间的关联时出错

使用java程序在redshift中创建视图的查询大小应该是多少

尝试在 Swift 中创建圆形 UIView 时出错

在 redshift 中查询时出现权限错误

在片段中创建自定义列表视图时出错。必需的活动,找到的片段