You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "MinJi Kim (JIRA)" <ji...@apache.org> on 2016/07/27 18:43:20 UTC

[jira] [Commented] (CALCITE-1332) DB2 requires fully qualified names in join condition

    [ https://issues.apache.org/jira/browse/CALCITE-1332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15396134#comment-15396134 ] 

MinJi Kim commented on CALCITE-1332:
------------------------------------

[~julianhyde] I am sure if this is the best way to solve this problem.  Please take a look and let me know if you have any suggestions or comments.  Thanks!

https://github.com/apache/calcite/pull/261

> DB2 requires fully qualified names in join condition
> ----------------------------------------------------
>
>                 Key: CALCITE-1332
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1332
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: MinJi Kim
>            Assignee: Julian Hyde
>
> I tried joining tables in DB2 and it looks like DB2 dialect requires the fully qualified (with db name, table name, and column name) in the join condition.  Also, if quoted, the identifiers need to be separated, e.g. "MYDB.MYTABLE" will not work, but "MYDB"."MYTABLE" will.
> {code}
> db2 => select * from mydb.mytable inner join mydb.mytable2 on "mydb.mytable".id = "mydb.mytable2".id
> SQL0206N  "mydb.mytable.ID" is not valid in the context where it is used.  
> SQLSTATE=42703
> {code}
> {code}
> db2 => select name from mydb.mytable inner join mydb.mytable2 on mydb.mytable.id = mydb.mytable2.id
> NAME                                              
> --------------------------------------------------
> Steven                                            
> {code}
> {code}
> db2 => select * from "MYDB"."MYTABLE" inner join "MYDB"."MYTABLE2" on "MYTABLE"."ID" = "MYTABLE2"."ID"
> SQL0206N  "MYTABLE.ID" is not valid in the context where it is used. 
> SQLSTATE=42703
> db2 => select * from "MYDB"."MYTABLE" inner join "MYDB"."MYTABLE2" on "MYDB.MYTABLE"."ID" = "MYDB.MYTABLE2"."ID"
> SQL0206N  "MYDB.MYTABLE.ID" is not valid in the context where it is used. 
> SQLSTATE=42703
> db2 => select * from "MYDB"."MYTABLE" inner join "MYDB"."MYTABLE2" on "MYDB"."MYTABLE"."ID" = "MYDB"."MYTABLE2"."ID"
> WORKS!
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)