1
나는 다음과 같은 테이블 구조를 가지고 : 특정한 드라이버 아이디 +를 제외하고 특정 고객에 대한 모든 무급 주문의 합으로 표시 마지막 무급 순서를 보여주고 싶은 무엇도움말
Customers - Cust_Orders - Cust_Items - Cust_Payments - Drivers
id id id id id
company cid oid oid name
driver price amount
date qty date
vat
주문이 이미 선택되었습니다.
이상의 cust_items 나는 그렇지 않으면 나는 내가 무엇을하고 있었는지 잊어 지점에 도달 때까지 & 일이 지저분한있어 잘못된 금액을 것 같은 선택에서 선택 사용했다 & 개보다 cust_payments이있을 수 있기 때문에.
모든 도움을 주시면 대단히 감사하겠습니다.
SELECT `customers`.`company`,
T1.*,
ROUND(IFNULL(SUM(`cust_payments`.`amount`), 0), 2) AS `paid`
FROM (
SELECT `cust_orders`.*,
ROUND(IFNULL(SUM(`cust_items`.`qty` * `cust_items`.`price`), 0), 2) AS `total`,
SUM((`cust_items`.`price` * `cust_items`.`qty` * `vat`)/100) AS `vat`
FROM `cust_orders`
LEFT JOIN `cust_items` ON `cust_orders`.`id` = `cust_items`.`oid`
GROUP BY `cust_orders`.`id`
) `T1`
LEFT JOIN `customers` ON `T1`.`cid` = `customers`.`id`
LEFT JOIN `cust_payments` ON `T1`.`id` = `cust_payments`.`oid`
WHERE `T1`.`driver` = ? GROUP BY `T1`.`id` HAVING (`T1`.`total` - `paid`) > ?
ORDER BY `T1`.`id` DESC LIMIT 1
시도 할 수 마지막 부분 만 (다른 무급 주문 금액의 합)이 부족
나의 현재 SQL 기대했다. 고객 당 미납 주문 ** ** 그 고객에 대한 미 지불 주문 금액의 합계 (표시된 주문 제외)로 끝나야합니다. 나는 당신의 모범을 바탕으로 내 작업을 재구성하고 내일 아침에 다시 게시하려고 노력할 것입니다. – Frank
단순히 고객 ID를 포함하는 것을 잊었습니까? – rabudde