Sam Carleton <[email protected]> wrote:

> It is very clear to me that my expectations are wrong, please enlighten
> me...
>
> Here is the query:
>
> update INVOICE
>    set SUB_TOTAL = (select sum(PRICE * QTY) from INVOICE_ITEM ii where
> ii.INVOICE_ID = *INVOICE_ID*),
>        TAX = (select round( sum(PRICE * QTY) * ( 8.25 / 100) + .005, 2) from
> INVOICE_ITEM ii where ii.INVOICE_ID = *INVOICE_ID*),
>        TOTAL = (select round( sum(PRICE * QTY) * ( 1 + ( 8.25 / 100)) +
> .005, 2) from INVOICE_ITEM ii where ii.INVOICE_ID = *INVOICE_ID*),
>        updatedby =  'manual2';
>
> The result is that every SUB_TOTAL, TAX, and TOTAL are very large, I assume
> it is the grand total.  It was my impression that the INVOICE_ID on the
> right of each where clause would be the current invoice_id of the given row
> being updated.  Am I wrong?  If so, is there some way to do this update in
> one update statement?
>
> Sam
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to