On Sat, 2 Mar 2002 17:35:31 -0500
"Dan Langille" <dan@langille.org> wrote:
> If I want the last 100 orders:
>
> SELECT * FROM orders LIMIT 100;
>
> If I want all the items on the last 100 orders, I'd start like this:
>
> SELECT *
> from orders, order_items
> where order_items.order_id = orders.id
> LIMIT 100
>
> But that will only give me the last 100 items, not 100 orders.
>
> What I really want is
>
> SELECT *
> from orders, order_items
> where order_items.order_id = orders.id
> and exists
> (SELECT * from orders order by ID DESC limit 100);
This probably gives you all the items on the last 100 orders.
select * from (select * from orders order by ID desc limit 10) as o inner join order_items as oi on
(oi.order_id= o.order_id)
;
>
> But that gives me all orders, not just the first 100.
>
> Adding a LIMIT 100 to the above doesn't work either. It equates to the
> first example.
Regards,
Masaru Sugawara