Jag har två tabeller t1 och t2, Jag har svårt att förstå meningen med din datastruktur? TACK, Behöver den vara null då?inner join en tabel med sig och med en anna tabell
t1 har kolumner bland annat "TYPE", "Payment" och "leasing" om TYPE är P då payment inte är null (antingen 0 eller mer) och leasing blir null men om TYPE är L då leasing inte är null (antingen 0 eller mer) och payment blir null
Jag vill räkna total credit med en join följande stored procedure men får syntax fel
DECLARE @CreditAmount INT
SELECT SUM(t2.Price - @CreditAmount) AS TotalCreditAmount
FROM t1 INNER JOIN t2 ON t1.CaseId = t2.CaseId
WHERE t2.Price <> 0 AND t1.Type =
CASE t1.Type
WHEN 'P' THEN
set @CreditAmount = t1.Payment
Else
SET @CreditAmount = t1.Leasing
END
då kom jag på att kanske jag kan lösa problemet genom att joina t1 med sig och med t2 samtidigt, men har inte lyckats än
åter kommer med kod.
tack för hjälpen att lösa mitt problemSv: inner join en tabel med sig och med en anna tabell
Som jag har förståt det:
* Kolumnen Payment är bara relevant om typen är P
* Kolumnen leasing är bara relevant om typen är L
Eller är Typ någon form av status? Att man först markera den som P sedan som L?
SELECT SUM(t2.Price - CASE t1.Type
WHEN 'P' THEN t1.Payment
WHEN 'L' THEN t1.Leasing
ELSE Null END) AS TotalCreditAmount
FROM t1 INNER JOIN
t2 ON t1.CaseId = t2.CaseId
WHERE t2.Price <> 0
Kommer det kunna finnas flera poster för samma CaseId? Kommer det inte då bli ett demantikt fel:
Priset, t2.Price, är 100kr.
Två delbetalningar: på 50kr
(100-50)
+ (100-50)
-------------
100
Sv:inner join en tabel med sig och med en anna tabell
faktiskt, vad jag vill göra är att jag vill ha en följande liknande
sum(t2.pris - t1.Leasing - t1.pay)
men ibland antingen leasing eller pay (en av dem) innehåller NULL och när den är null får jag NULL För hela statementen.Sv: inner join en tabel med sig och med en anna tabell
Om du ändå vet om den är relevant genom att kolla på "type", så kan den ju lika gärna vara 0, och då kan du köra med vanlig summa...