我在將下面的SQL轉換爲Zend Db查詢時遇到了一些問題。使用Zend DB編寫子查詢
$select = ' SELECT s.id, i.id as instance_id, i.reference, i.name, i.sic_code, i.start_date
FROM sles s
JOIN sle_instances i
ON s.id = i.sle_id
WHERE i.id = ( SELECT MAX(id)
FROM sle_instances
WHERE sle_id = s.id
)
ORDER BY i.name ASC';
我已經得到了儘可能的代碼 - 但Zend Db沒有正確地產生查詢。任何人都可以告訴我我缺少什麼?
$select = $db->select() ->from('sles', array( 'id',
'instance_id' => 'sle_instances.id',
'reference' => 'sle_instances.reference',
'name' => 'sle_instances.name',
'sic_code' => 'sle_instances.sic_code',
'start_date' => 'sle_instances.start_date'
)
)
->join('sle_instances', 'sles.id = sle_instances.sle_id')
->where('sles.id = (SELECT MAX(id) FROM sle_instances WHERE sle_id = sles.id)')
->order('sle_instances.name ASC');
SQL確實有效。我正在使用Zend Db重寫它,因爲我希望使用Zend Paginator功能。
任何幫助是極大的讚賞。
PJ
什麼是$ db? – 2016-01-28 13:34:37