And it works with PostgreSQL and Oracle.

On 5月12日, 午後8:25, HK <[email protected]> wrote:
> Hello,
>
> > Why do you have all of those "on 1=1" statements?
>
> My SQL is this.
>
>  from
>     (((((
>     TEST_GROUP_CLASS GC
>     left join TEST_GROUPM GI1 on GC.GCL_SID1 = GI1.GRP_SID)
>     left join TEST_GROUPM GI2 on GC.GCL_SID2 = GI2.GRP_SID)
>     left join TEST_GROUPM GI3 on GC.GCL_SID3 = GI3.GRP_SID)
>     left join TEST_GROUPM GI4 on GC.GCL_SID4 = GI4.GRP_SID)
>     left join TEST_GROUPM GI5 on GC.GCL_SID5 = GI5.GRP_SID)
>  )
>
> "on 1 = 1" is interpreted as what?
>
> > That's not valid SQL.
>
> Why this SQL do you work?
>
>  select
>     GC.GCL_SID1 as GCL_SID1,
>     GC.GCL_SID2 as GCL_SID2,
>     GC.GCL_SID3 as GCL_SID3,
>     GC.GCL_SID4 as GCL_SID4,
>     GC.GCL_SID5 as GCL_SID5,
>     GI1.GRP_NAME as GNAME1,
>     GI2.GRP_NAME as GNAME2,
>     GI3.GRP_NAME as GNAME3,
>     GI4.GRP_NAME as GNAME4,
>     GI5.GRP_NAME as GNAME5
>  from
>     (((((
>     TEST_GROUP_CLASS GC
>     left join TEST_GROUPM GI1 on GC.GCL_SID1 = GI1.GRP_SID)
>     left join TEST_GROUPM GI2 on GC.GCL_SID2 = GI2.GRP_SID)
>     left join TEST_GROUPM GI3 on GC.GCL_SID3 = GI3.GRP_SID)
>     left join TEST_GROUPM GI4 on GC.GCL_SID4 = GI4.GRP_SID)
>     left join TEST_GROUPM GI5 on GC.GCL_SID5 = GI5.GRP_SID)
>
> "Select count (*) from" I just delete the.
> And h2 1.2 to work.
>
> On 5月12日, 午後7:38, Noel Grandin <[email protected]> wrote:
>
>
>
>
>
>
>
> > Why do you have all of those "on 1=1" statements?
> > That's not valid SQL.
>
> > HK wrote:
> > > Hello,
>
> > > I'll write an error message.
>
> > > Exception in thread "main" org.h2.jdbc.JdbcSQLException: Syntax error
> > > in SQL statement "SELECT
> > >     GC.GCL_SID1 AS GCL_SID1,
> > >     GC.GCL_SID2 AS GCL_SID2,
> > >     GC.GCL_SID3 AS GCL_SID3,
> > >     GC.GCL_SID4 AS GCL_SID4,
> > >     GC.GCL_SID5 AS GCL_SID5,
> > >     GI1.GRP_NAME AS GNAME1,
> > >     GI2.GRP_NAME AS GNAME2,
> > >     GI3.GRP_NAME AS GNAME3,
> > >     GI4.GRP_NAME AS GNAME4,
> > >     GI5.GRP_NAME AS GNAME5
> > > FROM (
> > >     (
> > >         (
> > >             (
> > >                 (
> > >                     PUBLIC.TEST_GROUP_CLASS GC
> > >                     LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI1
> > >                         ON GC.GCL_SID1 = GI1.GRP_SID
> > >                 ) ON[*] 1=1
> > >                 LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI2
> > >                     ON GC.GCL_SID2 = GI2.GRP_SID
> > >             ) ON 1=1
> > >             LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI3
> > >                 ON GC.GCL_SID3 = GI3.GRP_SID
> > >         ) ON 1=1
> > >         LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI4
> > >             ON GC.GCL_SID4 = GI4.GRP_SID
> > >     ) ON 1=1
> > >     LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI5
> > >         ON GC.GCL_SID5 = GI5.GRP_SID
> > > ) ON 1=1
> > > INNER JOIN (
> > >     (
> > >         (
> > >             (
> > >                 PUBLIC.TEST_GROUP_CLASS GC
> > >                 LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI1
> > >                     ON GC.GCL_SID1 = GI1.GRP_SID
> > >             ) ON 1=1
> > >             LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI2
> > >                 ON GC.GCL_SID2 = GI2.GRP_SID
> > >         ) ON 1=1
> > >         LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI3
> > >             ON GC.GCL_SID3 = GI3.GRP_SID
> > >     ) ON 1=1
> > >     LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI4
> > >         ON GC.GCL_SID4 = GI4.GRP_SID
> > > ) ON 1=1
> > > INNER JOIN (
> > >     (
> > >         (
> > >             PUBLIC.TEST_GROUP_CLASS GC
> > >             LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI1
> > >                 ON GC.GCL_SID1 = GI1.GRP_SID
> > >         ) ON 1=1
> > >         LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI2
> > >             ON GC.GCL_SID2 = GI2.GRP_SID
> > >     ) ON 1=1
> > >     LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI3
> > >         ON GC.GCL_SID3 = GI3.GRP_SID
> > > ) ON 1=1
> > > INNER JOIN (
> > >     (
> > >         PUBLIC.TEST_GROUP_CLASS GC
> > >         LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI1
> > >             ON GC.GCL_SID1 = GI1.GRP_SID
> > >     ) ON 1=1
> > >     LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI2
> > >         ON GC.GCL_SID2 = GI2.GRP_SID
> > > ) ON 1=1
> > > INNER JOIN (
> > >     PUBLIC.TEST_GROUP_CLASS GC
> > >     LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI1
> > >         ON GC.GCL_SID1 = GI1.GRP_SID
> > > ) ON 1=1
> > > INNER JOIN PUBLIC.TEST_GROUP_CLASS GC
> > >     ON 1=1
> > > LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI1
> > >     ON GC.GCL_SID1 = GI1.GRP_SID
> > > LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI2
> > >     ON GC.GCL_SID2 = GI2.GRP_SID
> > > LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI3
> > >     ON GC.GCL_SID3 = GI3.GRP_SID
> > > LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI4
> > >     ON GC.GCL_SID4 = GI4.GRP_SID
> > > LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI5
> > >     ON GC.GCL_SID5 = GI5.GRP_SID"; expected "AS, RIGHT, LEFT, FULL,
> > > INNER, JOIN, CROSS, NATURAL, )"; SQL statement:
> > > CREATE FORCE VIEW PUBLIC._0 AS
> > > SELECT
> > >     GC.GCL_SID1 AS GCL_SID1,
> > >     GC.GCL_SID2 AS GCL_SID2,
> > >     GC.GCL_SID3 AS GCL_SID3,
> > >     GC.GCL_SID4 AS GCL_SID4,
> > >     GC.GCL_SID5 AS GCL_SID5,
> > >     GI1.GRP_NAME AS GNAME1,
> > >     GI2.GRP_NAME AS GNAME2,
> > >     GI3.GRP_NAME AS GNAME3,
> > >     GI4.GRP_NAME AS GNAME4,
> > >     GI5.GRP_NAME AS GNAME5
> > > FROM (
> > >     (
> > >         (
> > >             (
> > >                 (
> > >                     PUBLIC.TEST_GROUP_CLASS GC
> > >                     LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI1
> > >                         ON GC.GCL_SID1 = GI1.GRP_SID
> > >                 ) ON 1=1
> > >                 LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI2
> > >                     ON GC.GCL_SID2 = GI2.GRP_SID
> > >             ) ON 1=1
> > >             LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI3
> > >                 ON GC.GCL_SID3 = GI3.GRP_SID
> > >         ) ON 1=1
> > >         LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI4
> > >             ON GC.GCL_SID4 = GI4.GRP_SID
> > >     ) ON 1=1
> > >     LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI5
> > >         ON GC.GCL_SID5 = GI5.GRP_SID
> > > ) ON 1=1
> > > INNER JOIN (
> > >     (
> > >         (
> > >             (
> > >                 PUBLIC.TEST_GROUP_CLASS GC
> > >                 LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI1
> > >                     ON GC.GCL_SID1 = GI1.GRP_SID
> > >             ) ON 1=1
> > >             LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI2
> > >                 ON GC.GCL_SID2 = GI2.GRP_SID
> > >         ) ON 1=1
> > >         LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI3
> > >             ON GC.GCL_SID3 = GI3.GRP_SID
> > >     ) ON 1=1
> > >     LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI4
> > >         ON GC.GCL_SID4 = GI4.GRP_SID
> > > ) ON 1=1
> > > INNER JOIN (
> > >     (
> > >         (
> > >             PUBLIC.TEST_GROUP_CLASS GC
> > >             LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI1
> > >                 ON GC.GCL_SID1 = GI1.GRP_SID
> > >         ) ON 1=1
> > >         LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI2
> > >             ON GC.GCL_SID2 = GI2.GRP_SID
> > >     ) ON 1=1
> > >     LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI3
> > >         ON GC.GCL_SID3 = GI3.GRP_SID
> > > ) ON 1=1
> > > INNER JOIN (
> > >     (
> > >         PUBLIC.TEST_GROUP_CLASS GC
> > >         LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI1
> > >             ON GC.GCL_SID1 = GI1.GRP_SID
> > >     ) ON 1=1
> > >     LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI2
> > >         ON GC.GCL_SID2 = GI2.GRP_SID
> > > ) ON 1=1
> > > INNER JOIN (
> > >     PUBLIC.TEST_GROUP_CLASS GC
> > >     LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI1
> > >         ON GC.GCL_SID1 = GI1.GRP_SID
> > > ) ON 1=1
> > > INNER JOIN PUBLIC.TEST_GROUP_CLASS GC
> > >     ON 1=1
> > > LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI1
> > >     ON GC.GCL_SID1 = GI1.GRP_SID
> > > LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI2
> > >     ON GC.GCL_SID2 = GI2.GRP_SID
> > > LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI3
> > >     ON GC.GCL_SID3 = GI3.GRP_SID
> > > LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI4
> > >     ON GC.GCL_SID4 = GI4.GRP_SID
> > > LEFT OUTER JOIN PUBLIC.TEST_GROUPM GI5
> > >     ON GC.GCL_SID5 = GI5.GRP_SID [42001-154]
> > >    at org.h2.message.DbException.getJdbcSQLException(DbException.java:
> > > 327)
> > >    at org.h2.message.DbException.get(DbException.java:167)
> > >    at org.h2.message.DbException.getSyntaxError(DbException.java:192)
> > >    at org.h2.command.Parser.getSyntaxError(Parser.java:487)
> > >    at org.h2.command.Parser.read(Parser.java:2762)
> > >    at org.h2.command.Parser.readTableFilter(Parser.java:1033)
> > >    at org.h2.command.Parser.readTableFilter(Parser.java:1026)
> > >    at org.h2.command.Parser.readTableFilter(Parser.java:1026)
> > >    at org.h2.command.Parser.readTableFilter(Parser.java:1026)
> > >    at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1669)
> > >    at org.h2.command.Parser.parseSelectSimple(Parser.java:1776)
> > >    at org.h2.command.Parser.parseSelectSub(Parser.java:1663)
> > >    at org.h2.command.Parser.parseSelectUnion(Parser.java:1508)
> > >    at org.h2.command.Parser.parseSelect(Parser.java:1496)
> > >    at org.h2.command.Parser.parsePrepared(Parser.java:401)
> > >    at org.h2.command.Parser.parse(Parser.java:275)
> > >    at org.h2.command.Parser.parse(Parser.java:251)
> > >    at org.h2.command.Parser.prepare(Parser.java:201)
> > >    at org.h2.engine.Session.prepare(Session.java:399)
> > >    at org.h2.engine.Session.prepare(Session.java:386)
> > >    at org.h2.table.TableView.compileViewQuery(TableView.java:95)
> > >    at org.h2.table.TableView.initColumnsAndTables(TableView.java:139)
> > >  
>
> ...
>
> もっと読む ≫

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to