Re: przedplaty klienta - blad bazy
On Fri, 3 Jun 2005 15:32:02 +0200, konrad rzentarzewski wrote
03/06/05, messie from [ Robert CyberM ] ...
Tak customerid przy WHERE nie jest jednoznaczne. Ten błąd w większej liczbie miejsc występował. Podaj w jakim module rzuciło Ci taki błąd. Możesz spróbować zastąpić w kodzie 'customerid =' przez 'invoices.customerid = '. Tomasz Chilinski
/lms/?m=prepayments Twoja sugestia pomogla rzecz jasna :)
akurat w tym miejscu to już było poprawione. jak używasz wersji cvs-1.7 i masz błędy to sprawdź najpierw czy ich ktoś już nie poprawił w cvsie :)
query wygląda teraz tak:
SELECT invoiceid, itemid, MIN(cdate) AS cdate, SUM(CASE type WHEN 3 THEN value ELSE value*-1 END)*-1 AS value FROM cash LEFT JOIN invoices ON (invoiceid = invoices.id) WHERE invoices.customerid = ? AND invoiceid > 0 AND itemid > 0 GROUP BY invoiceid, itemid HAVING SUM(CASE type WHEN 3 THEN value ELSE value*-1 END)*-1 > 0 ORDER BY cdate', array($customerid)))
A przy events poprawka nie jest konieczna, bo i tak jest jednoznaczność, bo nie ma pola customerid w customers!
-- :|[ kondi.net ]|:::::::::::::::::::::::::::::::::::|[
-- Tomasz Chilinski
uczestnicy (1)
-
Tomasz Chilinski