私が使用しているコードは、対応する日付とアカウントではなく、複数の日付の預金金額の合計を除いて素晴らしいです。たとえば、次のように合計の合計SQL Server 2014
アカウント番号:123 /日:2012年1月1日/保証金が必要:$ 100 /保証金:$ 100
アカウント番号:123 /日:2012年1月20日/保証金が必要:$ 100 /デポジット:$ 100
クエリ結果:
アカウント番号:123 /日:2012年1月1日/保証金が必要:$ 100 /保証金:$ 200
アカウント番号:123 /日:01/20/2012 /入金必須:$ 100 /入金:$ 200
同じ人のアカウントですが、2つの異なる日付です。デポジット金額は、アカウント番号&の日付に相当する金額のみを加算する必要があります。助けてくれてありがとう!以下は
SELECT ca.fdorgunit AS Facility
, pt.fdmedrecnum AS Account
, ca.fddos AS DOS
, Cast(iv.fdinnetdeposit/100.0 as decimal(10,2)) AS [Deposit Required]
, Sum(Case When pa.fddescription = 'Deposit' Then Cast(pa.fdpayadjamount/100.0 as decimal(10,2)) Else 0 END) AS Deposit
FROM OPENQUERY (VISION, 'SELECT * FROM de.tbinsverification') AS iv
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM ci.tbcase') AS ca
ON iv.fdcase = ca.id
JOIN OPENQUERY (VISION, 'SELECT * FROM de.tbpatient') AS pt
ON pt.id = ca.fdpatient
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM ar.tbpayadjmaster') AS pa
ON pa.fdpatient = pt.id
WHERE iv.fdinnetdeposit is not Null AND iv.fdinnetdeposit <> '0' AND ca.fdcasestatus = 'Performed'
GROUP BY ca.fdorgunit, ca.fddos, iv.fdinnetdeposit, pt.fdmedrecnum
それが表にどのように見えるべきかですが、現在のクエリが10/10/16 & 10/20/16日付の両方のための$ 200のデポジットを返して:あなたの場合
Facility | Account | DOS | Deposit Required | Deposit
1 | 1234 | 10/10/16 | $100 | $100
1 | 1234 | 10/20/16 | $100 | $100
「ca.fdoirunit」「ca.fddos」「iv.fdinnetdeposit」と「pt.fdmedrecnum」は何ですか?アカウントや日付だけでなく、これらのフィールドでグループ化しているからです。 – McNets