SELECT
A.Name, A.ExternalNumber, A.ID
FROM
(
SELECT S.Name, S.ExternalNumber, 1 AS Priority, 0 AS FirmCreated, S.ID FROM Subscribers S
WHERE
S.StoreCard_ID = :OBJID AND
S.Firm_ID = :AFirm_ID AND
((S.Name <> ' ') OR (S.ExternalNumber <> ' '))
UNION
SELECT S.Name, S.ExternalNumber, 0 AS Priority, SF.CreatedAt$DATE AS FirmCreated, S.ID FROM Subscribers S
JOIN Firms F ON F.ID = :AFirm_ID
JOIN Firms SF ON SF.ID = S.Firm_ID
WHERE
S.StoreCard_ID = :OBJID AND
SF.Firm_ID = COALESCE(F.Firm_ID, F.ID) AND
((S.Name <> ' ') OR (S.ExternalNumber <> ' '))
) A
ORDER BY
A.Priority DESC, A.FirmCreated DESC, A.ID
Generated by ABRA Software a.s. 27.10.2021 16:34:11