Author: tfischer
Date: Tue Oct  6 03:15:25 2015
New Revision: 1706948

URL: http://svn.apache.org/viewvc?rev=1706948&view=rev
Log:
TORQUE-290: documentation

Modified:
    
db/torque/torque4/trunk/torque-site/src/site/xdoc/documentation/orm-reference/read-from-db.xml

Modified: 
db/torque/torque4/trunk/torque-site/src/site/xdoc/documentation/orm-reference/read-from-db.xml
URL: 
http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-site/src/site/xdoc/documentation/orm-reference/read-from-db.xml?rev=1706948&r1=1706947&r2=1706948&view=diff
==============================================================================
--- 
db/torque/torque4/trunk/torque-site/src/site/xdoc/documentation/orm-reference/read-from-db.xml
 (original)
+++ 
db/torque/torque4/trunk/torque-site/src/site/xdoc/documentation/orm-reference/read-from-db.xml
 Tue Oct  6 03:15:25 2015
@@ -835,6 +835,43 @@ criteria.where(AuthorPeer.AUTHOR_ID, sub
 
 List authors = AuthorPeer.doSelect(criteria);
 </source>
+
+    <subsection name="Referencing the outer select from subselects">
+      <p>
+        In subselects, columns from the outer query can be referenced.
+        For example, for selecting the authors which have written exactly one 
book
+        with a given title, one could use the SQL statement
+      </p>
+    
+<source>
+SELECT author.author_id, author.name FROM author WHERE (SELECT COUNT(*) FROM 
book WHERE (book.author_id=author.author_id AND book.title=?))=?
+</source>
+
+      <p>
+        Note that in the subselect, a column from the outer select 
(author.author_id)
+        is referenced but the table author does not appear in the FROM clause
+        of the subselect (so that the database knows the outer select is 
referenced
+        instead of creating an inner join in the subselect).
+        As Torque will automatically remove tables from the outer select
+        from the FrOM clause of the inner select, the above query can be 
crated by
+      </p>
+
+<source>
+Criteria subquery = new Criteria();
+subquery.where(BookPeer.AUTHOR_ID, AuthorPeer.AUTHOR_ID);
+subquery.and(BookPeer.TITLE, "SomeTitle");
+subquery.addSelectColumn(new Count("*"));
+
+Criteria criteria = new Criteria();
+criteria.where(subquery, 1);
+</source>
+
+      <p>
+        If the automatical removal of tables from the FROM clause is not 
desired,
+        the FROM clause in the subselect can be specified manually using the 
method
+        <code>subquery.addFrom(...)</code>.
+      </p>
+    </subsection>
   </section>
 
   <section name="Subselects in the FROM clause">



---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscr...@db.apache.org
For additional commands, e-mail: torque-dev-h...@db.apache.org

Reply via email to