[ic] How can I nest loops or queries?
Mon, 26 Feb 2001 18:50:24 -0800
At 05:59 PM 2/25/2001 +0000, chaim klar wrote:
>How can I nest loops or queries?
Does this help?
Taken from recent post by Mike Heins:
Quoting Dan B (firstname.lastname@example.org):
> Solved it, works perfect. :-) Thanks to Christopher F. Miller and the
> mailing list archive. Hopefully this will come in handy to the next person
> searching the archives.
And though I jumped in late, there actually isn't any reason you can't nest a
query. I don't know why I never remembered to remove the "canNest" check for
Tagref.pm, but that is actually a legacy from the less-capable MV3 parser.
This nested query:
[query list=1 prefix=outer sql="select category from products"]
WHERE category = '[outer-code]'
"][outer-code] : [inner-code] : [inner-param description]<BR>
seems to work fine. Of course you have to have separate prefix= things
so the placeholders get substituted correctly, but it will work. As will
a loop in a loop, etc. Not the best way to get great performance, though. 8-)
Red Hat, Inc., 131 Willow Lane, Floor 2, Oxford, OH 45056
phone +1.513.523.7621 fax 7501 <email@example.com>
Experience is what allows you to recognize a mistake the second
time you make it. -- unknown
>I have two tables the first table called products looks like this:
>p_sku price ...,
>Then another table called accessories that looks like this:
>AutoNumber a_code accessory
>1 KF800 C2100Z
>2 KF800 C211Z
>3 KF800 KW
>4 KF800 KFP
>5 KF800 KFW
>6 C2100Z MBSM
>7 C2100Z 16MBSM
>8 C2100Z 32MBSM
>9 C2100Z 64MBSM
>10 C2100Z B28
>(a_code may exist a few for each item in the products table)
>So in the flypage.html I first look up in the accessories table with the
>item to see if it has accessories (and to convince myself that it indeed have
>accessories for the current item I first display them) and then with the
>I make another loop in the products table to get the price and description
>accessories like this:
> [outer-data accessories a_code][outer-data accessories accessory]
> [loop prefix=inner search="fi=products/se[outer-data accessories
> [inner-data products p_sku][inner-data products price]
>but for some reason I get the accessories to display before entering the
>second loop but not
>after the second loop so I have tired doing it with [query] like this:
> SELECT p_sku
> FROM products
> WHERE p_sku IN (
> SELECT accessory
> FROM accessories
> WHERE a_code = 'KF800'
> [sql-increment]) [sql-param p_sku]<br>
>but I didn't get better results.
>Thanking You in advance.
>Get your FREE download of MSN Explorer at http://explorer.msn.com
>Interchange-users mailing list
Dan Browning, Cyclone Computer Systems, firstname.lastname@example.org