SELECT F.ID AS Firm_ID -- Schválení dodavatelé FROM Firms F JOIN ApprovedSuppliers S ON S.Firm_ID = F.ID WHERE F.Firm_ID IS NULL AND S.ValidFromDate$DATE <= :DocDate AND S.IsApproved = 'A' GROUP BY F.ID UNION -- Schválení dodavatelé ze schválených předků SELECT F.ID AS Firm_ID--, SUM(CASE WHEN S2.IsApproved = 'A' THEN 1 ELSE 0 END), SUM(CASE WHEN S2.IsApproved = 'N' THEN 1 ELSE 0 END) FROM Firms F JOIN Firms F2 ON F2.Firm_ID = F.ID JOIN ApprovedSuppliers S2 ON F2.ID = S2.Firm_ID WHERE F.Firm_ID IS NULL AND S2.ValidFromDate$DATE <= :DocDate AND NOT EXISTS (SELECT ID FROM ApprovedSuppliers S WHERE S.Firm_ID = F.ID AND S.ApprovingArea_ID = S2.ApprovingArea_ID AND S.ValidFromDate$DATE <= :DocDate) GROUP BY F.ID HAVING -- Musí být všichni předchůdci schváleni SUM(CASE WHEN S2.IsApproved = 'A' THEN 1 ELSE 0 END) > 0 AND SUM(CASE WHEN S2.IsApproved = 'N' THEN 1 ELSE 0 END) = 0
Generated by ABRA Software a.s. 27.10.2021 16:35:29