This:

join = db.ntw_edge.with_alias('alias_edge').on('ntw_edge.inID = 
alias_edge.outID')
db((db.ntw_edge.outID == 1622) & 'ntw_edge.labelID = alias_edge.labelID').
select(join=join)

will produce this:

SELECT "ntw_edge"."id", "ntw_edge"."outID", "ntw_edge"."inID", "ntw_edge".
"labelID", "ntw_edge"."networkkey"
FROM "ntw_edge"
JOIN "ntw_edge" AS "alias_edge" ON ntw_edge.inID = alias_edge.outID
WHERE (("ntw_edge"."outID" = 1622) AND ntw_edge.labelID = alias_edge.labelID
)

Anthony

On Sunday, February 18, 2018 at 11:04:19 AM UTC-5, Annet wrote:
>
> I defined the following table:
>
> db.define_table('ntw_edge',
>     Field('outID', 'reference vtx_vertex'),
>     Field('inID', 'reference vtx_vertex'),
>     Field('labelID', 'reference ntw_edge_label_set'),
>     Field('networkkey', type='integer', default=1),
>     migrate = False)
>
>
> The database contains a.o. the following records:
>
> id    outID    inID    labelID  networkkey 
> 1    1622     1456    6          1
> 2    1456     1622    6          2
> 3    1622     1473    6          1
> 4    1473     1622    6          1
> 5    1622     1456    8          1
> 6    1456     1622    8          1
>
> I want to join inID on outID where the labelIDs are the same, resulting in:
>
> 1622    1456    6    1456    1622   6
> 1622    1473    6    1473    1622   6
> 1622    1456    8    1456    1622   8
>
> and then join this with the vtx_vertex and ntw_edge_label_set tables.
> I created an alias: ntw_edge_alias
>
> In SQL the query would be:
>
> SELECT ...
> FROM ntw_edge
> INNER JOIN ntw_edge_alias ON ntw_edge.inID=alias_edge.outID
> WHERE ntw_edge.outID=1622 AND (ntw_edge.labelID=alias_edge.labelID)
>
> How do I code this in web2py? My attempts so far seem to interpret this 
> code
> (ntw_edge.labelID=alias_edge.labelID) in the WHERE clause as a join, so
> the query returns too many records>
>
> KInd regards,
>
> Annet
>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to