我是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,
答案 0 :(得分:1)
您某处的列名无效......
你真的需要引用名字吗?
缺省情况下,DB2对模式,表或列名称不区分大小写
mycolumn
与MYCOLUMN
如果你真的需要引用名字,那么请注意它必须完全匹配
"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"