[ 
https://issues.apache.org/jira/browse/CAY-2208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrei Tomashpolskiy updated CAY-2208:
--------------------------------------
    Description: 
I have a query:
{code}
SELECT *
FROM table1 t1
LEFT JOIN (SELECT * FROM table2 WHERE <some condition>) t2
        ON (<join by several columns>)
{code}

Let's say I have:
- 6 entries in table1
- 4 entries in table2 that satisfy the WHERE condition

In Java I do the following:
{code}
SQLTemplate query = new SQLTemplate(Table1.class, <query from above>);
<set params for WHERE condition>
List<Table1> rows = (List<Table1>) context.performQuery(query);
{code}

*rows* has 6 elements and contains 4 matching entries and 2 _nulls_

Database is MySQL 5.6.22-log Community Server (GPL)

  was:
I have a query:
{code}
SELECT *
FROM table1 t1
LEFT JOIN (SELECT * FROM table2 WHERE <some condition>) t2
        ON (<join by several columns>)
{code}

Let's say I have:
- 6 entries in table1
- 4 entries in the subset of table2 that satisfy the WHERE condition

In Java I do the following:
{code}
SQLTemplate query = new SQLTemplate(Table1.class, <query from above>);
<set params for WHERE condition>
List<Table1> rows = (List<Table1>) context.performQuery(query);
{code}

*rows* has 6 elements and contains 4 matching entries and 2 _nulls_

Database is MySQL 5.6.22-log Community Server (GPL)


> SQLTemplate: LEFT JOIN to a subset of a table returns nulls for entries that 
> don't have a match in the subset
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: CAY-2208
>                 URL: https://issues.apache.org/jira/browse/CAY-2208
>             Project: Cayenne
>          Issue Type: Bug
>    Affects Versions: 4.0.M3
>            Reporter: Andrei Tomashpolskiy
>
> I have a query:
> {code}
> SELECT *
> FROM table1 t1
> LEFT JOIN (SELECT * FROM table2 WHERE <some condition>) t2
>       ON (<join by several columns>)
> {code}
> Let's say I have:
> - 6 entries in table1
> - 4 entries in table2 that satisfy the WHERE condition
> In Java I do the following:
> {code}
> SQLTemplate query = new SQLTemplate(Table1.class, <query from above>);
> <set params for WHERE condition>
> List<Table1> rows = (List<Table1>) context.performQuery(query);
> {code}
> *rows* has 6 elements and contains 4 matching entries and 2 _nulls_
> Database is MySQL 5.6.22-log Community Server (GPL)



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

Reply via email to