Re: Select and order by question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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 this:

$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 1"

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.

 

 

Sherwin Harris

Web Developer

Brigham Young University

 


From: pgsql-php-owner@xxxxxxxxxxxxxx [mailto:pgsql-php-owner@xxxxxxxxxxxxxx] On Behalf Of Andy Dunlop
Sent: Wednesday, May 03, 2006 3:13 AM
To: pgsql-php@xxxxxxxxxxxxxx
Subject: [PHP] Select and order by question

 

Hi - I have the following code:

//show table of current events needing action
$sSql = "SELECT id FROM crm_leads ";
$sLeads = pg_exec($conn,$sSql);
for($e=0;$e<pg_numrows($sLeads);$e++){
        $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);
        if($sHits!=0){
                for($i=0;$i<$sHits;$i++){
              // 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
Thanks

Andy Dunlop

www.infocus.co.za
+27 21 532 0335 office
+27 82 770 8749 mobile

 


[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux