tabelkolommen zijn onleesbaar in query

Ik gebruik deze vraag, maar ik krijg een fout vdagbk.bedrag en vdagbk.reden .

Het probleem is, als ik in de tweede SELECTEER zou zetten zou het resultaat zeker verkeerd zijn aangezien het het resultaat tot vele tijden samenvat als gevolg van dubbele gegevens in de tabel.

SELECT TOP (100) PERCENT 
   SUM(P.bedrag) AS ex, 
   C.dosno, 
   C.dosnm, 
   SUM(P.betaald) AS TotBetaald, 
   SUM(CASE vdagbk.reden WHEN 'H' THEN vdagbk.bedrag END)  AS Expr1
FROM         
   dbo.verkopen AS P 
INNER JOIN
   (SELECT DISTINCT 
         dbo.doss.dosno, dbo.doss.dosnm, dbo.verkopen.ino
    FROM dbo.verkopen 
    INNER JOIN dbo.doss ON dbo.verkopen.ino = dbo.doss.ino 
    INNER JOIN dbo.vdagbk ON dbo.verkopen.ino = dbo.vdagbk.ino
    WHERE      
        (dbo.doss.uitvoerder LIKE 'LL') 
        AND (dbo.doss.dosno LIKE '101520')
    GROUP BY 
        dbo.doss.dosno, dbo.doss.dosnm, dbo.verkopen.ino) AS C ON C.ino = P.ino 
INNER JOIN
    dbo.vdagbk AS vdagbk_1 ON P.ino = vdagbk_1.ino
GROUP BY 
    C.dosno, C.dosnm

Hoe kan ik deze query laten werken?

1

1 antwoord

U geeft hier uw tabel dbo.vdagbk een alias vdagbk_1 :

INNER JOIN
    dbo.vdagbk AS vdagbk_1 ON P.ino = vdagbk_1.ino

dus je moet ook dat alias in je SUM() -clausule hier gebruiken:

SUM(CASE vdagbk.reden WHEN 'H' THEN vdagbk.bedrag END)  AS Expr1

Wijzig dit in:

SUM(CASE vdagbk_1.reden WHEN 'H' THEN vdagbk_1.bedrag END)  AS Expr1

en het zou moeten werken.

0
toegevoegd