選擇
booking_request.book_id,
booking_request.pickup_loc,
booking_request.drop_loc,
booking_request.journey_date,
booking_request.return_date,
booking_request.distance,
booking_request.est_fare,
DvrExp。開支費用,
PndBal.pending AS payment_Pending,
PymtRcvd.receive AS Payment_Recevied,
booking_details.car_id AS car_id,
booking_details.car_name AS car_name,
booking_details.driver_id AS driver_id,
booking_details.driver_name AS DRIVER_NAME
FROM booking_request
LEFT JOIN booking_details
ON booking_request.book_id = booking_details.book_id
LEFT JOIN(
SELECT book_id,
SUM(量)AS費用
FROM driver_expense GROUP BY book_id )DvrExp
ON DvrExp.book_id = booking_details.book_id
LEFT JOIN(
SELECT book_id,
SUM(amount_pending)AS未決
FROM payment_balance GROUP BY book_id)PndBal
ON PndBal.book_id = booking_details.book_id
LEFT JOIN(
選擇book_id,
SUM(量)AS接收
FROM payment_receive GROUP BY book_id)PymtRcvd
ON DvrExp.book_id = booking_details.book_id
WHERE booking_request.status = '封閉'如何寫Zend的子查詢2
0
A
回答
0
從booking_request在主選擇缺少子句
SELECT booking_request.book_id
,booking_request.pickup_loc
,booking_request.drop_loc
,booking_request.journey_date
,booking_request.return_date
,booking_request.distance
,booking_request.est_fare
,DvrExp.expenses AS expenses
,PndBal.pending AS payment_Pending
,PymtRcvd.receive AS Payment_Recevied
,booking_details.car_id AS car_id
,booking_details.car_name AS car_name
,booking_details.driver_id AS driver_id
,booking_details.driver_name AS driver_nameFROMbooking_request
FROM booking_request
LEFT JOIN booking_details ON booking_request.book_id = booking_details.book_idLEFT
JOIN (
SELECT book_id
,SUM(amount) AS expenses
FROM driver_expense
GROUP BY book_id
) DvrExp ON DvrExp.book_id = booking_details.book_id
LEFT JOIN (
SELECT book_id
,SUM(amount_pending) AS pending
FROM payment_balance
GROUP BY book_id
) PndBal ON PndBal.book_id = booking_details.book_id
LEFT JOIN (
SELECT book_id
,SUM(amount) AS receive
FROM payment_receive
GROUP BY book_id
) PymtRcvd ON DvrExp.book_id = booking_details.book_id
WHERE booking_request.STATUS = 'Closed'
1
請參閱最後一個例子中(#17 - 開始線268上的)一個要點的我在Github創建: https://gist.github.com/andrewscaya/8b7d53cffd7c1cb61c234c0de126e964
以供將來參考:
use Zend\Db\Sql\Select;
use Zend\Db\Sql\Where;
use Zend\Db\Sql\Expression;
$sqlExpression = new Expression('MAX(`sku`)');
$subSelect = new Select();
$subSelect->from('purchases')
->columns([$sqlExpression]);
$where = new Where();
$where->in('sku', ['sku' => $subSelect]);
$select = new Select();
$select->from('products');
$select->where($where);
0
$select = $this->getSql()->select();
$select->join('booking_details','booking_request.book_id = booking_details.book_id',array('car_id', 'car_name','driver_id', 'driver_name'),"LEFT");
$select->join(array('DvrExp' => '(SELECT book_id, SUM(amount) AS expenses FROM driver_expense GROUP BY book_id)'),'DvrExp.book_id = booking_details.book_id',array('expenses'),"LEFT");
$select->join(array('PndBal' => '(SELECT book_id, SUM(amount_pending) AS pending FROM payment_balance GROUP BY book_id)'),'PndBal.book_id = booking_details.book_id',array('pending'),"LEFT");
$select->join(array('PymtRcvd' => '(SELECT book_id, SUM(amount) AS receive FROM payment_receive GROUP BY book_id)'),'PymtRcvd.book_id = booking_details.book_id ',array('receive'),"LEFT");
$select->where("booking_request.status = '".$booking_type."'");
$this->_set_date_filter($select,$params);
$select->where("booking_request.request_date > '2016-06-07 00:00:00'");
//echo $select->getSqlString(); die;
$resultSet = $this->selectWith($select);
return $resultSet;
相關問題
- 1. Zend框架2:子查詢
- 2. 使用Zend DB編寫子查詢
- 3. 如何在Zend Framework中編寫類似查詢2
- 4. 如何編寫子查詢?
- 5. Zend 2 sql查詢問題
- 6. 如何在zend框架中使用子查詢執行查詢
- 7. Zend子查詢參數
- 8. 如何重寫JOIN中的子查詢?
- 9. 用zend框架編寫自定義查詢2
- 10. 如何重寫包含重複的子查詢的SQL查詢?
- 11. 如何有SQL查詢2級的子查詢分爲
- 12. 如何打破子查詢到2個簡單的查詢
- 13. Doctrine 2子查詢
- 14. 如何寫多行父查詢單行返回子查詢子查詢
- 15. zend框架2從插件查詢
- 16. Zend Framework中的SQL子查詢1.12
- 17. 寫回到Zend Dom查詢對象
- 18. 在Zend框架中編寫sql查詢
- 19. 寫在Zend框架下刪除查詢
- 20. Zend的Lucene的 - 如何做查詢
- 21. 我如何寫同樣的連接查詢我寫了子查詢?
- 22. 如何將這個查詢翻譯成zend framework 2語法?
- 23. 如何使用Zend Framework 2運行原始SQL查詢
- 24. 如何重寫與查詢有聯繫的子查詢SQL查詢
- 25. 如何在java中爲多個子查詢編寫solr查詢?
- 26. 如何在Doctrine2中編寫此查詢? (子查詢+連接)
- 27. 如何重寫此查詢而不重複SELECT子查詢
- 28. 如何用Zend Framework編寫這個查詢?
- 29. 如何編寫子查詢並使用Hive中的「In」子句
- 30. 合併2個子查詢
我認爲這個問題是更多關於如何建立使用ZF該請求。不是嚴格的sql語法,但我可能是錯的。 – Unex