У меня есть 3 таблицы Box, Documemts, партии. каждый блок содержит более одного документа, и каждый документ имеет несколько партий. я хочу выбрать количество документов в Boxs где, по меньшей мере, 1 партия в документе имеет значение IsDeleted = 0.Получить количество записей из нескольких таблиц в SQL
давайте предположим, что документ имеет 10 партий, если по крайней мере одна партия имеет значение IsDeleted = 0 мы будем считать это, иначе если все партии имеют isdeleted = 1, мы не будем считать это.
Как выбрать номер документа od на основе вышеизложенного?
я попытался это, но он не работает
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
я попытался это, но он не работает, как выбрать b.ID BOXID, d.ID, как DocId, граф (1) в качестве CountDoc из Документы как d внутреннее соединение dbo.Boxes как b на d.boxid = b.id INNER JOIN dbo. Исправлено как t on d.ID = t.DocumentID где 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 – MMomani
Вы можете edi т ваш вопрос в любое время. Поэтому добавьте свой код/схему в свой вопрос вместо комментариев. – hims056
Можете ли вы дать нам структуру таблицы? – cameronjonesweb