【问题标题】:DB2 Left Outer JOin returning errorDB2 Left Outer JOin 返回错误
【发布时间】:2016-05-12 19:04:39
【问题描述】:

我是 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,

【问题讨论】:

    标签: db2


    【解决方案1】:

    您在某处获得了无效的列名...

    你真的需要带引号的名字吗?

    默认情况下,DB2 对模式、表或列名不区分大小写。
    mycolumnMYCOLUMN 相同

    如果您确实需要带引号的名称,请注意它必须完全匹配。
    "MyColumn""Mycolumn"不一样

    【讨论】:

      【解决方案2】:

      您的报价似乎有问题。每个对象需要单独引用:"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"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-10
        • 1970-01-01
        • 2013-03-10
        • 2010-09-29
        • 1970-01-01
        • 2018-12-04
        • 2015-04-02
        相关资源
        最近更新 更多