2016-05-12 41 views
0

我是DB2的新手和學習。DB2左外部JOIN返回錯誤

我們有下面的查詢嘗試連接表,但它正在迴應我一個錯誤,有人可以請幫忙嗎?

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

好像有問題與你的報價。每個對象需要單獨引用:"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" 
1

你有什麼地方了無效的列名...

你真的需要引用的名字呢?

對於模式,表或列名,默認情況下DB2不區分大小寫。
mycolumn相同MYCOLUMN

如果你真的需要引用的名稱,然後意識到,它必須是精確匹配。
"MyColumn"不一樣作爲"Mycolumn"