ボックス、ドキュメント、バッチの 3 つのテーブルがあります。各ボックスには複数のドキュメントが含まれ、各ドキュメントには複数のバッチがあります。ドキュメント内の少なくとも 1 つのバッチの値が IsDeleted = 0 であるボックス内のドキュメントの数を選択したい。
ドキュメントに 10 個のバッチがあると仮定します。少なくとも 1 つのバッチの値が isdeleted = 0 の場合はカウントし、それ以外のすべてのバッチの値が isdeleted = 1 の場合はカウントしません。
上記に基づいてドキュメントの番号を選択するにはどうすればよいですか?
私はこれを試しましたが、うまくいきません
SELECT b.ID as BOXID,d.ID as DocID, count(1) as CountDoc
FROM Documents as d
INNER JOIN dbo.Boxes as b on d.boxid = b.id
INNER JOIN dbo.Batches as t on d.ID = t.DocumentID
WHERE d.ID = t.DocumentID
AND d.boxid= b.id
AND t.isDeleted = 0
GROUP BY d.ID , t.DocumentID ,b.ID --HAVING t.isDeleted = 0