You should do this inside a stored procedure instead of using iBATIS or your code to do it.
-Richard -----Original Message----- From: Vadim Grinshpun [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 28, 2006 11:58 AM To: [email protected] Subject: flexible queries? Hi everyone, Suppose I have a query where I want a join to be performed only if *one or more* of a set of parameters are present. Is there a way in SqlMaps to do something like this? (below is an example snippet of what I'd like to do, using some pseudocode in the first <dynamic> section): SELECT * FROM table_foo f, table_bar b <dynamic> <!-- if any of the params in the conditional are defined, add one more table to join --> <if> <or> <isEqual property="X.defined" compareValue="true" > <isEqual property="X.defined" compareValue="true" > </or> <then>, table_baz z</then> </if> </dynamic> WHERE f.field = b.field <dynamic> <isEqual property="X.defined" compareValue="true" prepend="AND" >z.x_field > #X.value#</isEqual> <isEqual property="Y.defined" compareValue="true" prepend="AND" >z.y_field = #Y.value#</isEqual> </dynamic> Thanks, --Vadim
