cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Lane <ja...@root10.net>
Subject Re: dynamic query help
Date Tue, 01 Jun 2004 15:57:56 GMT

On 1 Jun 2004, at 15:27, Christopher Painter-Wakefield wrote:

>
>
>
>
> off the top of my head, start with this (easiest) to get it working.   
> If it
> performs well, you can leave it like this, but for better performance  
> take
> a look at http://cocoon.apache.org/2.1/userdocs/xsp/esql.html#Groups
> which will let you use a single join query to accomplish your goal.

hmmm. I get a NullPointer on that, not a problem though I shall look  
into using esql-groups, I had been looking at that, it makes more sense  
to me now. I shall need a 3 table join as well later on so using groups  
may be the best most efficient course.

Thanks again Christopher.

>
> ...
> <esql:query>select id, area from ukareas order by area</esql:query>
> <esql:results>
>       <esql:row-results>
>             <area>
>                   <name><esql:get-string column="area"/></name>
>                   <esql:execute-query>
>                         <esql:query>
>                               select county from county, navmap
>                               where navmap.cid = county.id
>                               and aid= <esql:parameter
> type="int"><esql:get-int column="id"/></esql:parameter>
>                               order by county
>                         </esql:query>
>                         <esql:results>
>                               <counties>
>                                     <esql:row-results>
>                                           <county><esql:get-string
> column="county"/></county>
>                                     </esql:row-results>
>                               </counties>
>                         </esql:results>
>                   </esql:execute-query>
>             <area>
>       </esql:row-results>
> </esql:results>
>
> -Christopher
>
>
>
> |---------+---------------------------->
> |         |           Jason Lane       |
> |         |           <jason@root10.net|
> |         |           >                |
> |         |                            |
> |         |           06/01/2004 09:51 |
> |         |           AM               |
> |         |           Please respond to|
> |         |           users            |
> |         |                            |
> |---------+---------------------------->
>> ---------------------------------------------------------------------- 
>> ----------------------------------------|
>   |                                                                     
>                                           |
>   |       To:       users@cocoon.apache.org                             
>                                           |
>   |       cc:                                                           
>                                           |
>   |       Subject:  dynamic query help                                  
>                                           |
>> ---------------------------------------------------------------------- 
>> ----------------------------------------|
>
>
>
>
> Hi list,
>
> I have this ESQL query to my DB:
>
> <esql:query>select id, area from ukareas order by area</esql:query>
>
> This just returns the column rows "ID" and "AREA"
>
> I also have this table which maps tables ukareas and county
>
> create table navmap (
>              aid integer,
>              cid integer,
>              primary key (aid,cid),
>              foreign key (id) references ukareas(id),
>              foreign key (id) references county(id)
> );
>
> I then have this query:
>
> <esql:query>select county from county, navmap where navmap.cid =
> county.id and aid= 'X ' order by county</esql:query>
>
> Where 'X' is the result of ukareas.id column, so essentially I'd like
> to do something like
>
> for (int i = 0; i &lt; id.length; i++) {
> //where id = ukareas.id
>              <esql:query>select county from county, navmap where  
> navmap.cid
> =
> county.id and aid= '<xsp:expr>id[i]</xsp:expr>' order by
> county</esql:query>
> }
>   essentially I'd be outputing something like:
>
> South - East
>              Surrey, Kent, etc...
> Anglia
>              Norfolk, Suffolk, etc...
>
> I have a very, very rough idea of how I could do this but need some
> pointers.
>
> Many thanks all.
>
> Jason
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>
>
Jason Lane

Developer
Root10 developments


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message