2014-01-22 38 views
0

我使用zend-db進行了以下查詢。加入表格中最後插入的數據

$select = $db->select()->from('assignment',array('assignment.id','form_type','assignment.no_of_files')) 
     ->join('assignment_insurance','assignment_insurance.assignment_id = assignment.id',array('assignment_insurance.assignment_id','insurance_company_id','insurance_claim_number')) 
     ->join('insurance','insurance.id = assignment_insurance.insurance_company_id',array('company')) 
     ->join('assignment_insured_or_claimant','assignment_insured_or_claimant.assignment_id = assignment.id',array('first_name','last_name')) 
     ->join('assignment_appraiser','assignment_appraiser.assignment_id = assignment.id',array('appraiser_id','next_status_date')) 
     ->join('appraiser','appraiser.id = assignment_appraiser.appraiser_id',array('first_name as appraiser_first_name','last_name as appraiser_last_name')) 

該查詢工作正常,但我想加入從狀態表插入的最後一個數據。我想加入的狀態表的查詢類似於:

SELECT * FROM `assignment_status` 
WHERE id=(the_assignment_id) ORDER BY id DESC LIMIT 1 

我該怎麼做?請幫忙。謝謝

+0

對zend一無所知,如果是我,我只是構建一個VIEW並從中選擇。 – Strawberry

+0

沒關係。我修好了它。謝謝回覆。 :) ' - > joinInner('assignment_status','assignment_status.assignment_id = assignment.id AND assignment_status.id =(從assignment_status中選擇id,其中assignment_id = assignment.id ORDER BY id DESC LIMIT 1)',array('status' ,'status_added_date','status_action'))' – mint

+0

您可以將其發佈爲答案並接受它! – Strawberry

回答

0

沒關係,我修好了。

->joinInner('assignment_status', 'assignment_status.assignment_id = assignment.id AND assignment_status.id = (SELECT id from assignment_status where assignment_id = assignment.id ORDER BY id DESC LIMIT 1)',array('status','status_added_date','status_action'))