Alternatively, you could just code a recursive function to do the same
instead of doing it in SQL or stored procs.

On Tue, Aug 24, 2010 at 11:01 AM, Victor Subervi <victorsube...@gmail.com>wrote:

> On Tue, Aug 24, 2010 at 1:43 PM, Peter Brawley
> <peter.braw...@earthlink.net>wrote:
>
> > >What I'm trying to accomplish is to order the results such that after
> > >stacking the data for all results for a certain category, that the next
> > >results to be stacked should be those whose parent = the former
> category,
> > >then move on to the next category, etc. How do I do this?
> >
> > It's a tree. See
> > http://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch20.html and
> > http://www.artfulsoftware.com/infotree/treequeryperformance.pdf.
> >
> >
> How do I cut down the tree? That stuff is *way* too complex for my needs. I
> just thought I'd make my presentation of data a little cleaner but frankly
> it ain't worth going through all that learning and experimentation to do
> it.
> If there isn't another way I'll just forget about it. Any other suggestions
> would be nice.
> TIA.
> Victor
>
> > -----
> >
> > -----Original Message-----
> > >From: Victor Subervi <victorsube...@gmail.com>
> > >Sent: Aug 24, 2010 1:14 PM
> > >To: mysql@lists.mysql.com
> > >Subject: Complex Select Query
> > >
> > >Hi;
> > >I have the following query:
> > >
> > >select * from spreadsheets s join products p on p.Item=s.Item join
> > >categories c on p.Category=c.ID where s.Client=%s order by p.category,
> > >c.parent;
> > >
> > >mysql> describe products;
> > >+-------------+--------------+------+-----+---------+----------------+
> > >| Field       | Type         | Null | Key | Default | Extra          |
> > >+-------------+--------------+------+-----+---------+----------------+
> > >| ID          | int(4)       | NO   | PRI | NULL    | auto_increment |
> > >| Category    | int(3)       | YES  |     | NULL    |                |
> > >| Item        | varchar(20)  | YES  | UNI | NULL    |                |
> > >| Description | varchar(255) | YES  |     | NULL    |                |
> > >| UOM         | varchar(20)  | YES  |     | NULL    |                |
> > >| Cost        | float(7,2)   | YES  |     | NULL    |                |
> > >+-------------+--------------+------+-----+---------+----------------+
> > >6 rows in set (0.00 sec)
> > >
> > >mysql> describe categories;
> > >+----------+-------------+------+-----+---------+----------------+
> > >| Field    | Type        | Null | Key | Default | Extra          |
> > >+----------+-------------+------+-----+---------+----------------+
> > >| ID       | int(3)      | NO   | PRI | NULL    | auto_increment |
> > >| Category | varchar(20) | YES  | UNI | NULL    |                |
> > >| Parent   | varchar(20) | YES  |     | NULL    |                |
> > >+----------+-------------+------+-----+---------+----------------+
> > >
> > >What I'm trying to accomplish is to order the results such that after
> > >stacking the data for all results for a certain category, that the next
> > >results to be stacked should be those whose parent = the former
> category,
> > >then move on to the next category, etc. How do I do this?
> > >TIA,
> > >Victor
> >
> >
>

Reply via email to