문제가 쓰는 내 SQL 쿼리를 ... 데나는이 같은 SQL 쿼리를
SELECT c.clientid, c.clientname, c.billingdate,
(SELECT ifnull(sum(total), 0)
FROM invoice i
WHERE i.client = c.clientid AND i.isdeleted = 0) -
(SELECT ifnull(sum(p.amount), 0)
FROM payment p
INNER JOIN invoice i ON p.invoice = i.invoiceid
WHERE i.client = c.clientid and i.isdeleted = 0) as balance,
CASE c.isactive+0 WHEN '1' THEN 'Stop'
ELSE 'Start' END as Active
FROM client c
ORDER BY clientname
이 오류없이 잘 작동하지만이 부분을주의 ....
(SELECT ifnull(sum(total), 0)
FROM invoice i
WHERE i.client = c.clientid AND i.isdeleted = 0) -(SELECT ifnull(sum(p.amount), 0)
FROM payment p
INNER JOIN invoice i ON p.invoice = i.invoiceid
WHERE i.client = c.clientid AND i.isdeleted = 0) as balance
나는 PHP 스크립트를 쓴 ...
if($remaining < 0){
$remaining = $row['total'];
}else{
$remaining = $remaining + $row['total'];
}
나는 SQL의 한때를 쓴 적이없는 내가 내 SQL 쿼리 내 PHP에 쓴 통합되어 일을하려고하지만 있어요 전에 if 문으로 ery. 내 SQL 쿼리에 내 PHP 스크립트를 통합하는 방법은 무엇입니까? 어떤 제안?
성능 측면에서 볼 때 데이터베이스에서 데이터를 가져 와서 'PHP'로 유효성 검사를 수행하는 것이 합리적이지 않습니까? – Phil
그 문제는 내가 클라이언트의 목록을 반환하는 쿼리와 개별 나머지 잔액이 있으므로 각각의 클라이언트에 대해 ID를 얻고 각 클라이언트에 대해 PHP 스크립트를 실행해야한다는 것을 고려했습니다. – user1269625
'$ remaining'과'$ row [ 'total']'이 쿼리와 어떤 관련이 있는지 모르겠다 ... – DaveRandom