Assuming you are using a version of a
database that can support sub-queries (MySQL 4.1 and up, Postgresql (all
reasonably current versions, any other robust RDBMS) you can do the query like
$sSql = "SELECT * FROM crm_events WHERE crm_leads_id IN (SELECT id
FROM crm_leads) AND follow_up_action!='' ORDER BY follow_up_date asc limit
Not sure what your follow_up_action !=” is suppose to be doing but if
the rest works for you that should give you what you want.
pgsql-php-owner@xxxxxxxxxxxxxx [mailto:pgsql-php-owner@xxxxxxxxxxxxxx] On Behalf Of Andy Dunlop
Sent: Wednesday, May 03, 2006 3:13
Subject: [PHP] Select and order by
Hi - I have the following code:
//show table of current events needing action
$sSql = "SELECT id FROM crm_leads ";
$sLeads = pg_exec($conn,$sSql);
$sSql = "SELECT * FROM
crm_events WHERE crm_leads_id =
".pg_result($sLeads,$e,"id")." AND follow_up_action!=''
ORDER BY follow_up_date asc limit 1";
$sRes = pg_exec($conn,$sSql);
$sHits = pg_numrows($sRes);
// generate the display here
crm_leads is a parent with many crm_events as it's children.
This code gives me the correct set of rows.
My problem is that I want only the last row from crm_events (as per limit 1)
but I want those rows sorted by follow_up_date. I guess I need to have the
whole query in one select statement? But how?
Any help appreciated
+27 21 532 0335 office
+27 82 770 8749 mobile