首页 > 解决方案 > DB2 SQL 联合斗争

问题描述

嗨,这是我在 Stack Overflow 上的第一篇文章。我读过很多帖子,人们能够解决他们的问题,所以就到这里吧。我很难让下一个工会工作。我不确定出了什么问题,并且来自 SQL Developer 的错误消息没有帮助。非常感谢您对此的任何帮助!

我收到的错误消息是:

“错误报告 -

DB2 SQL 错误:SQLCODE=-104,SQLSTATE=42601,SQLERRMC="";ECT 'IN' AS STATE ,;, DRIVER=4.7.112"

这是我要开始工作的 DDL:

CREATE VIEW DW_COE.DAMAGE_FINANCIALS ("STATE"
,"CLAIM_NUMBER"
,"DAMAGE_DATE"
,"LABOR_FEE"
,"EQUIPMENT_FEE"
,"MATERIALS_FEE"
,"MEALS_FEE"
,"CONTRACTED_FEE"
,"POLICE_REPORTS_FEE"
,"GAS_LOSS_FEE"
,"TAXES_FEE"
,"GENERAL_FEE"
,"JO_NO") AS

SELECT DPTS.STATE AS STATE
,Dpts.claim_number AS CLAIM_NUMBER
,DPTS.damagedate AS DAMAGE_DATE
,DPTS.LABOR AS LABOR_FEE
,DPTS.EQUIPMENT AS EQUIPMENT_FEE
,DPTS.MATERIALS AS MATERIALS_FEE
,DPTS.MEALS AS MEALS_FEE
,DPTS.CONTRACTED_FEES AS CONTRACTED_FEE
,DPTS.POLICE_REPORTS AS POLICE_REPORTS_FEE
,DPTS.GAS_LOSS AS GAS_LOSS_FEE
,DPTS.TAXES AS TAXES_FEE
,DPTS.GENERAL AS GENERAL_FEE
,DPTS.JOBORDERNUMBER AS JO_NO
FROM dw_coe.dpts_view DPTS

UNION

SELECT 'IN' AS STATE
,"" AS CLAIM_NUMBER
,"" AS DAMAGE_DATE
,STAR.LABOR AS LABOR_FEE
,STAR.EQUIPMENT AS EQUIPMENT_FEE
,STAR.MATERIAL AS MATERIALS_FEE
,STAR.MEALS AS MEALS_FEE
,STAR.CONTRACTEDFEES AS CONTRACTED_FEE
,STAR.POLICEREPORT AS POLICE_REPORTS_FEE
,STAR.GASLOSS AS GAS_LOSS_FEE
,"" AS TAXES_FEE
,"" AS GENERAL_FEE
,STAR.JOB_ORDER_NUM AS JO_NO
FROM dw_coe.star_view STAR 

UNION

SELECT 'IN' AS STATE
,CAST(GFORMS.REPORT_ID AS VARCHAR(50)) AS CLAIM_NUMBER
,GFORMS.ACCIDENT_DATE AS DAMAGE_DATE
,"" AS LABOR_FEE
,"" AS EQUIPMENT_FEE
,"" AS MATERIALS_FEE
,"" AS MEALS_FEE
,"" AS CONTRACTED_FEE
,"" AS POLICE_REPORTS_FEE
,"" AS GAS_LOSS_FEE
,"" AS TAXES_FEE
,"" AS GENERAL_FEE
,GFORMS.JOB_ORDER_NUMBER AS JO_NO
FROM DDH_GFORMS.DAMAGE_DETAIL GFORMS
WITH UR;

标签: sqldb2union

解决方案


双引号 " 用于括起标识符(f ex 列名)

单引号 ' 用于字符串文字。

用''替换你的“”


推荐阅读