Skip Evans wrote:
> Hey all,
>
> I have a SQL requirement I'm not quite sure how to compose.
>
> I have two tables, shows, and shows_dates. It's a one to many
> relationship where there is a single entry in shows and multiple entries
> in shows_dates that list each date and time for a play production for a
> run of entries in shows, like
>
> I need a query that will read each record in shows, but I only want the
> first record from shows_dates, the first one sorted by date, so I can
> display all shows in order of their opening date.
>
> Not sure how to grab just the first record from shows_dates though.
>
> Hint, anyone?
I guess this should work in most databases, it does in MySQL:
select q.name, min(q.date) as firstdate from
(select s.id, s.name, d.date
from shows s, shows_dates d
where d.shows_id = s.id)
as q
group by q.id
order by firstdate;
A left join in the sub query will also grab the shows for which no
shows_dates row exist:
select q.name, min(q.date) as firstdate from
(select s.id, s.name, d.date
from shows s left join shows_dates d
on d.shows_id = s.id)
as q
group by q.id
order by firstdate
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php