DB2 MISMATCHED DATA type

CarelessWishper 2013-09-14 09:14:36
大家帮帮忙 我在执行这个语句的时候 报出了:
Category Timestamp Duration Message Line Position
Error 2013/9/14 21:10:48 0:00:00.337 DB2 Database Error: ERROR [42825] [IBM][DB2/AIX64] SQL0344N The recursive common table expression "DB2LUCI.CITY_JOIN" has mismatched data types, lengths or code pages for column "PART_READY".


请大家帮忙看看原因 查询语句如下:

WITH
red as(
select p.PART_COMM_GROUP,p.PART_COMM_NAME,p.PART_NUMBER,p.PART_DESCRIPTION,p.PART_LONG_DESCRIPTION, R.PART_SUPPLIER,R.PART_RETURNABLE,p.PART_MOTIONLESS,R.PART_RED_TYPE,R.COUNTRY_CODE,p.PART_SCREEN_TYPE,R.PART_CREDIT_PERCENTAGE, p.PART_BRAND,p.UCI_NEEDED,p.BAC_CODE,p.TPG_IPG_FLG,p.PART_READY,p.PART_STATUS,W.part_create_date
from DB2LUCI.PARTS_ATTS_TBL p
left outer join (
SELECT Temp.part_number,Temp.PART_SUPPLIER,Temp.PART_RETURNABLE, Temp.PART_RED_TYPE,Temp.COUNTRY_CODE,Temp.PART_CREDIT_PERCENTAGE
FROM DB2LUCI.redemption_info Temp
) R
on p.PART_NUMBER=R.PART_NUMBER
left outer join (
SELECT wc.part_number,wc.part_create_date
FROM DB2LUCI.PARTS_ATTS_FROMWC_TBL wc
) W
on p.PART_NUMBER = W.PART_NUMBER
where p.DELETE_FLAG ='N' and p.PART_NUMBER IN ('00K7892')
),
Recursive_Test_Par(PART_COMM_GROUP, PART_COMM_NAME, PART_NUMBER, PART_DESCRIPTION, PART_LONG_DESCRIPTION, PART_SUPPLIER, PART_RETURNABLE, PART_MOTIONLESS, PART_RED_TYPE, COUNTRY_CODE, PART_SCREEN_TYPE, PART_CREDIT_PERCENTAGE, PART_BRAND, UCI_NEEDED, BAC_CODE, TPG_IPG_FLG, PART_READY, PART_STATUS, part_create_date,Rk_Num) as(
SELECT PART_COMM_GROUP, PART_COMM_NAME, PART_NUMBER, PART_DESCRIPTION, PART_LONG_DESCRIPTION, PART_SUPPLIER, PART_RETURNABLE, PART_MOTIONLESS, PART_RED_TYPE, COUNTRY_CODE, PART_SCREEN_TYPE, PART_CREDIT_PERCENTAGE, PART_BRAND, UCI_NEEDED, BAC_CODE, TPG_IPG_FLG, PART_READY, PART_STATUS, part_create_date,
ROW_NUMBER() OVER(PARTITION BY PART_RED_TYPE) --分组,生成序列,自我关联之用
FROM red
),
City_Join(PART_COMM_GROUP, PART_COMM_NAME, PART_NUMBER, PART_DESCRIPTION, PART_LONG_DESCRIPTION, PART_SUPPLIER, PART_RETURNABLE, PART_MOTIONLESS, PART_RED_TYPE, COUNTRY_CODE, PART_SCREEN_TYPE, PART_CREDIT_PERCENTAGE, PART_BRAND, UCI_NEEDED, BAC_CODE, TPG_IPG_FLG, PART_READY, PART_STATUS, part_create_date,R_Num) as(
SELECT PART_COMM_GROUP, PART_COMM_NAME, PART_NUMBER, PART_DESCRIPTION, PART_LONG_DESCRIPTION, PART_SUPPLIER, PART_RETURNABLE, PART_MOTIONLESS, PART_RED_TYPE, PART_SCREEN_TYPE, PART_CREDIT_PERCENTAGE, PART_BRAND, UCI_NEEDED, BAC_CODE, TPG_IPG_FLG, PART_READY, PART_STATUS, part_create_date,
CAST(COUNTRY_CODE AS VARCHAR(1000)),Rk_Num from Recursive_Test_Par WHERE Rk_Num=1
UNION ALL
SELECT a1.PART_COMM_GROUP, a1.PART_COMM_NAME, a1.PART_NUMBER, a1.PART_DESCRIPTION, a1.PART_LONG_DESCRIPTION, a1.PART_SUPPLIER, a1.PART_RETURNABLE, a1.PART_MOTIONLESS, a1.PART_RED_TYPE, a1.PART_SCREEN_TYPE, a1.PART_CREDIT_PERCENTAGE, a1.PART_BRAND, a1.UCI_NEEDED, a1.BAC_CODE, a1.TPG_IPG_FLG, a1.PART_READY, a1.PART_STATUS, a1.part_create_date,
CAST(a1.COUNTRY_CODE||'#'||b1.COUNTRY_CODE AS VARCHAR(1000)),a1.R_Num+1
FROM City_Join a1,Recursive_Test_Par b1
WHERE a1.PART_RED_TYPE=b1.PART_RED_TYPE and a1.R_Num=b1.Rk_Num-1
and a1.PART_NUMBER=b1.PART_NUMBER
)
SELECT a.PART_COMM_GROUP, a.PART_COMM_NAME, PART_NUMBER, a.PART_DESCRIPTION, a.PART_LONG_DESCRIPTION, a.PART_SUPPLIER, a.PART_RETURNABLE, a.PART_MOTIONLESS, a.PART_RED_TYPE,a.COUNTRY_CODE, a.PART_SCREEN_TYPE, a.PART_CREDIT_PERCENTAGE, a.PART_BRAND, a.UCI_NEEDED, a.BAC_CODE, a.TPG_IPG_FLG, a.PART_READY, a.PART_STATUS, a.part_create_date
FROM City_Join a INNER JOIN
(SELECT PART_COMM_GROUP, PART_COMM_NAME, PART_NUMBER, PART_DESCRIPTION, PART_LONG_DESCRIPTION, PART_SUPPLIER, PART_RETURNABLE, PART_MOTIONLESS, PART_RED_TYPE, PART_SCREEN_TYPE, PART_CREDIT_PERCENTAGE, PART_BRAND, UCI_NEEDED, BAC_CODE, TPG_IPG_FLG, PART_READY, PART_STATUS, part_create_date,max(R_Num) R_Num
from City_Join
GROUP BY PART_COMM_GROUP, PART_COMM_NAME, PART_NUMBER, PART_DESCRIPTION, PART_LONG_DESCRIPTION, PART_SUPPLIER, PART_RETURNABLE, PART_MOTIONLESS, PART_RED_TYPE, PART_SCREEN_TYPE, PART_CREDIT_PERCENTAGE, PART_BRAND, UCI_NEEDED, BAC_CODE, TPG_IPG_FLG, PART_READY, PART_STATUS, part_create_date
) b
ON a.PART_RED_TYPE=b.PART_RED_TYPE and a.R_Num=b.R_Num;
...全文
92 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
CarelessWishper 2013-09-14
  • 打赏
  • 举报
回复
大家帮帮忙 谢谢了 在线等
CarelessWishper 2013-09-14
  • 打赏
  • 举报
回复
具体是错误是在这块爆出来了的


City_Join(PART_COMM_GROUP, PART_COMM_NAME, PART_NUMBER, PART_DESCRIPTION, PART_LONG_DESCRIPTION,  PART_SUPPLIER, PART_RETURNABLE, PART_MOTIONLESS, PART_RED_TYPE, COUNTRY_CODE, PART_SCREEN_TYPE, PART_CREDIT_PERCENTAGE,  PART_BRAND, UCI_NEEDED, BAC_CODE, TPG_IPG_FLG, PART_READY, PART_STATUS, part_create_date,R_Num) as(
SELECT PART_COMM_GROUP, PART_COMM_NAME, PART_NUMBER, PART_DESCRIPTION, PART_LONG_DESCRIPTION,  PART_SUPPLIER, PART_RETURNABLE, PART_MOTIONLESS, PART_RED_TYPE, PART_SCREEN_TYPE, PART_CREDIT_PERCENTAGE,  PART_BRAND, UCI_NEEDED, BAC_CODE, TPG_IPG_FLG, PART_READY, PART_STATUS, part_create_date,
CAST(COUNTRY_CODE AS VARCHAR(1000)),Rk_Num from Recursive_Test_Par WHERE Rk_Num=1
UNION ALL
SELECT a1.PART_COMM_GROUP, a1.PART_COMM_NAME, a1.PART_NUMBER, a1.PART_DESCRIPTION, a1.PART_LONG_DESCRIPTION,  a1.PART_SUPPLIER, a1.PART_RETURNABLE, a1.PART_MOTIONLESS, a1.PART_RED_TYPE, a1.PART_SCREEN_TYPE, a1.PART_CREDIT_PERCENTAGE,  a1.PART_BRAND, a1.UCI_NEEDED, a1.BAC_CODE, a1.TPG_IPG_FLG, a1.PART_READY, a1.PART_STATUS, a1.part_create_date,
CAST(a1.COUNTRY_CODE||'#'||b1.COUNTRY_CODE AS VARCHAR(1000)),a1.R_Num+1
FROM City_Join a1,Recursive_Test_Par b1
WHERE a1.PART_RED_TYPE=b1.PART_RED_TYPE and a1.R_Num=b1.Rk_Num-1
and a1.PART_NUMBER=b1.PART_NUMBER
) 

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧