aleborgMedlem sedan jan. 20013 341 inlägg Jag har en tabell som innehåller bland annat dessa columner:
ID
InvoiceID
Total
Saldo
IsCredit
CreditsInvoice
i tabellen finns både fakturor(IsCredit=0, CreditsInvoice=0) och Kreditnotor(IsCredit=1,CreditsInvoice=InvoiceID)
Jag behöver uppdatera alla fakturors "Saldo" som där det finns en tillhörande kreditnota med Fakturans "Total"(positivt tal) minus Kreditnotans "Total"(negativt tal).
Men jag kan inte komma på hur Updaten ska se ut.
Databasen är MS SQL.
LarsGMedlem sedan dec. 200012 464 inlägg update t set
saldo = saldo - (
select sum(total)
from invoices
where invoiceid = t.invoiceId
and IsCredit = 1)
from invoices as t
where exists (
select *
from invoices
where invoiceid = t.invoiceId
and IsCredit = 1)
men jag har väl missförstått din tabelldesign. Det brukar alltid underlätta för förståelsen om du exemplifierar med datainnehåll och förväntat resultat.
aleborgMedlem sedan jan. 20013 341 inlägg Tack LarsG, jag tror att din kod funkar finfint som den alltid gör :e, problemet var att jag upptäckte efter att du hade svarat att jag var för snabb och kollade inte min kod ordentligt(stort projekt så man glömmer en del), "Saldo" fanns inte alls i tabellen utan joinades in i frågan som visade resultatet som jag hämtade ovanstående från :r
Så jag fick ta det den långa vägen och loopa ALLA fakturor i ekonomiprogrammet och jämföra dom med dom jag hade i min databas, det tog en stund...