DB2 Left Outer JOin返回错误

时间:2016-05-12 19:04:40

标签: db2

我是DB2和学习新手。

我们有以下查询尝试连接表,但它正在给我一个错误,有人可以帮忙吗?

SELECT "Q.WRITETIME", "Q.Queue_Name", "Q.Current_Depth", "S.Oldest_Message_Age", "Q.Percent_Full", "Q.Messages_Read_per_Second", "Q.Messages_Put_per_Second", "Q.Maximum_Depth" 
FROM "ITMUSER"."Queue_Long_Term_History" Q
 LEFT OUTER JOIN "ITMUSER"."Queue_Status" S 
           ON 
"Q.Queue_Name" = "S.Queue_Name" 
where "Queue_Name"='PHX.IIB.WAS.DATAREQ.QL'
ORDER BY Q."WRITETIME";

有人可以帮我解决这个问题吗?

播放时我的错误代码如下: DB2 SQL错误:SQLCODE = -206,SQLSTATE = 42703, DB2 SQL错误:SQLCODE = -104,SQLSTATE = 42601,

2 个答案:

答案 0 :(得分:1)

您某处的列名无效......

你真的需要引用名字吗?

缺省情况下,DB2对模式,表或列名称不区分大小写 mycolumnMYCOLUMN

相同

如果你真的需要引用名字,那么请注意它必须完全匹配 "MyColumn" "Mycolumn"

不一样

答案 1 :(得分:0)

您的报价似乎存在问题。每个对象都需要单独引用:"SCHEMA"."TABLE"."COLUMN"

这是修订后的查询,它也缺少WHERE子句中的表限定符。另外,正如 Charles 所提到的,带引号的标识符区分大小写。

SELECT "Q"."WRITETIME", "Q"."Queue_Name", "Q"."Current_Depth",
 "S"."Oldest_Message_Age", "Q"."Percent_Full",
 "Q"."Messages_Read_per_Second",
 "Q"."Messages_Put_per_Second", "Q"."Maximum_Depth" 
FROM "ITMUSER"."Queue_Long_Term_History" Q
 LEFT OUTER JOIN "ITMUSER"."Queue_Status" S 
  ON "Q"."Queue_Name" = "S"."Queue_Name" 
WHERE "Q"."Queue_Name"='PHX.IIB.WAS.DATAREQ.QL'
ORDER BY "Q"."WRITETIME"