Probeer een Access query (met subquery) te converteren naar SQL
De query in Access
De subquery (RCdetails18) in Access
Mijn conversie
Vraag :
- Sum(RCdetails18.BUitAKP) : combinatie subquery en veld => correct omzetting ?
- IIF : = correct omgezet ?
- Datum)<=[datum?])) : (hoe) kan deze code omgezet worden ?
Dank voor tips.
De query in Access
Code:
SELECT Leden.[Leden-Id], Leden.LedenNr, Leden.Familienaam, Leden.Voornaam,
Sum(RCdetails18.BUitAKP) AS TBUitAKP,
Sum(RCdetails18.BInVKP) AS TBInVKP,
Sum(RCdetails18.BInVKP)-Sum(RCdetails18.BUitAKP) AS SaldoRC,
IIf(Sum(RCdetails18.BInVKP)-Sum(RCdetails18.BUitAKP)>0,0,Sum(RCdetails18.BInVKP)-Sum(RCdetails18.BUitAKP)) AS SaldoDT,
IIf(Sum(RCdetails18.BInVKP)-Sum(RCdetails18.BUitAKP)<0,0,Sum(RCdetails18.BInVKP)-Sum(RCdetails18.BUitAKP)) AS SaldoCT
FROM Leden
INNER JOIN RCdetails18 ON Leden.[Leden-Id]=RCdetails18.ledenid
WHERE (((RCdetails18.Datum)<=[datum?]))
GROUP BY Leden.[Leden-Id], Leden.LedenNr, Leden.Familienaam, Leden.Voornaam
ORDER BY Leden.LedenNr;
De subquery (RCdetails18) in Access
Code:
SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP, ledenid FROM tabl_A18
UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP, ledenid FROM tabl_B18;
Mijn conversie
Code:
sql = "SELECT Leden.[Leden-Id], Leden.LedenNr, Leden.Familienaam, Leden.Voornaam, "&_
"SUM((SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).BUitAKP) AS TBUitAKP, "&_
"SUM((SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).BInVKP) AS TBInVKP, "&_
"Sum((SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).BInVKP) "&_
"-SUM(SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).BUitAKP) AS SaldoRC, "&_
"CASE WHEN SUM(SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).[BInVKP]"&_
"-SUM(SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).[BUitAKP]>0 THEN 0 "&_
"ELSE SUM(SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).[BInVKP]"&_
"-SUM(SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).[BUitAKP]) AS SaldoDT, "&_
"CASE WHEN SUM(SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).[BInVKP]"&_
"-SUM(SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).[BUitAKP]<0 THEN 0 "&_
"ELSE SUM(SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).[BInVKP]"&_
"-SUM(SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).[BUitAKP]) AS SaldoCT "&_
"FROM Leden "&_
"INNER JOIN (SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18) "&_
"ON Leden.[Leden-Id]=(SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).ledenid "&_
"WHERE (((SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_A18 UNION ALL SELECT Datum, Aantal, Omschrijving, BInVKP, BUitAKP FROM tabl_B18).Datum)<=[datum?])) "&_
"GROUP BY Leden.[Leden-Id], Leden.LedenNr, Leden.Familienaam, Leden.Voornaam "&_
"ORDER BY Leden.LedenNr"
Vraag :
- Sum(RCdetails18.BUitAKP) : combinatie subquery en veld => correct omzetting ?
- IIF : = correct omgezet ?
- Datum)<=[datum?])) : (hoe) kan deze code omgezet worden ?
Dank voor tips.