をバインドすることはできませんこれは、MS SQLで動作します:表フィールドは
SELECT TOP (100) PERCENT SUM(P.bedrag) AS ex
FROM dbo.verkopen AS P INNER JOIN
(SELECT DISTINCT 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')) AS C ON C.ino = P.ino
私は私の結果に複製一部の行があったように、そのようにそれをしなければなりませんでした。
しかし、私はそれでこのような何かをしたい:
SELECT TOP (100) PERCENT doss.dosno, doss.dosnm, SUM(P.bedrag) AS TotBedraggefactureerd, SUM(P.betaald) AS TotBetaald, SUM(P.totincl) AS TotIncl,
SUM(vdagbk.beginsaldo) AS totbeginsaldoontvangen, SUM(vdagbk.eindsaldo) AS toteindsaldoontvangen,
SUM(CASE vdagbk.reden WHEN 'H' THEN vdagbk.bedrag END) AS ontvangenhonoraria, SUM(CASE vdagbk.reden WHEN 'P' THEN vdagbk.bedrag END)
AS ontvangenprov, SUM(CASE vdagbk.reden WHEN 'A' THEN vdagbk.bedrag END) AS dagboekA, SUM(CASE vdagbk.reden WHEN 'G' THEN vdagbk.bedrag END)
AS dagboekG, SUM(CASE vdagbk.reden WHEN 'E' THEN vdagbk.bedrag END) AS dagboekE
FROM dbo.verkopen AS P INNER JOIN
(SELECT DISTINCT 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')) AS C ON C.ino = P.ino
GROUP BY doss.dosno, doss.dosnm
ORDER BY doss.dosno
私はそれがすべての今台無しにされて知っています。私は少しSQLを行うことができますが、これは私の頭の上に並べ替えるビットです。
私はそれが.inoのみを含んでいることは知っていますが、今どこにクエリを置いていますか?
私はこれでした:
`SELECT TOP (100) PERCENT doss.dosno, doss.dosnm, SUM(verkopen.bedrag)/2 AS TotBedraggefactureerd, SUM(verkopen.betaald) AS TotBetaald, SUM(verkopen.totincl)
AS TotIncl, SUM(vdagbk.beginsaldo) AS totbeginsaldoontvangen, SUM(vdagbk.eindsaldo) AS toteindsaldoontvangen,
SUM(CASE vdagbk.reden WHEN 'H' THEN vdagbk.bedrag END) AS ontvangenhonoraria, SUM(CASE vdagbk.reden WHEN 'P' THEN vdagbk.bedrag END)
AS ontvangenprov, SUM(CASE vdagbk.reden WHEN 'A' THEN vdagbk.bedrag END) AS dagboekA, SUM(CASE vdagbk.reden WHEN 'G' THEN vdagbk.bedrag END)
AS dagboekG, SUM(CASE vdagbk.reden WHEN 'E' THEN vdagbk.bedrag END) AS dagboekE
FROM verkopen INNER JOIN
doss ON verkopen.ino = doss.ino INNER JOIN
vdagbk ON verkopen.ino = vdagbk.ino
WHERE (dbo.doss.uitvoerder LIKE 'LL') AND (dbo.doss.dosno LIKE '101520') GROUP BY doss.dosno, doss.dosnm
ORDER BY doss.dosno
`
をしかし、それはいくつかのケースでは二重の結果を返しました。
役に立つかもしれないいくつかの興味深い点:まず、 "Top(100)Percent"ビットを取り除くことができます。それはあなたのコードを複雑にし、何もしません。第二に、SQL Serverはいくつかの改行を恐れることはありません。したがって、totbeginsaldoontvangenとTotBedraggefactureerdとその他すべてを別々の行に置くことで、コードを読みやすくすることができます。 – PowerUser