Třídová akce

Popis:
Vyhledávání podle několika klíčových položek
Kód:
3
Tělo:
SELECT A.ID
FROM ServicedObjects A
LEFT JOIN Firms F ON (F.ID=A.Firm_ID)
LEFT JOIN Firms FP ON (FP.ID=A.PayerFirm_ID)
LEFT JOIN Firms FO ON (FO.ID=A.OwnerFirm_ID)
WHERE
  (upper(A.Code collate PXW_CSY) LIKE (upper('{SEARCHCODE}')) ESCAPE '~') AND
  (upper(A.Name collate PXW_CSY) LIKE (upper('{SEARCHNAME}')) ESCAPE '~') AND
  ((upper(F.Name collate PXW_CSY) LIKE (upper('{SEARCHFIRM}')) ESCAPE '~') OR 
   (('{SEARCHFIRM}'='%%') AND A.Firm_ID is null) OR
   ((:ClientWithAncestors='A') AND                 
    (A.Firm_ID in
     (SELECT F1.ID FROM Firms F1
      WHERE
       (A.Firm_ID = F1.ID) and
       (F1.Firm_ID in 
        (SELECT F11.ID FROM Firms F11 
         where (Upper(F11.Name collate PXW_CSY) LIKE Upper('{SEARCHFIRM}') ESCAPE '~')
        )
       )
     )
    ) 
   )
  ) AND
  ((upper(FP.Name collate PXW_CSY) LIKE (upper('{SEARCHPAYER}')) ESCAPE '~') OR 
   (('{SEARCHPAYER}'='%%') AND A.PayerFirm_ID is null) OR
   ((:PayerWithAncestors='A') AND                 
    (A.PayerFirm_ID in
     (SELECT FP1.ID FROM Firms FP1
      WHERE
       (A.PayerFirm_ID = FP1.ID) and
       (FP1.Firm_ID in 
        (SELECT FP11.ID FROM Firms FP11 
         where (Upper(FP11.Name collate PXW_CSY) LIKE Upper('{SEARCHPAYER}') ESCAPE '~')
        )
       )
     )
    ) 
   )
  ) AND 
  ((upper(FO.Name collate PXW_CSY) LIKE (upper('{SEARCHOWNER}')) ESCAPE '~') OR 
   (('{SEARCHOWNER}'='%%') AND A.OwnerFirm_ID is null) OR
   ((:OwnerWithAncestors='A') AND                 
    (A.OwnerFirm_ID in
     (SELECT FO1.ID FROM Firms FO1
      WHERE
       (A.OwnerFirm_ID = FO1.ID) and
       (FO1.Firm_ID in 
        (SELECT FO11.ID FROM Firms FO11 
         where (Upper(FO11.Name collate PXW_CSY) LIKE Upper('{SEARCHOWNER}') ESCAPE '~')
        )
       )
     )
    ) 
   )
  ) AND
  (A.Hidden = 'N')
ORDER BY A.Code

Generated by ABRA Software a.s. 27.10.2021 16:35:46