It's kinda ugly but this works
SELECT
GREATEST(
COALESCE((SELECT acs.acs_read FROM acs WHERE acs.acs_usr = :usr AND acs.acs_app = :app), 0),
COALESCE((SELECT app.ap_read FROM app WHERE app.ID = :app), 0),
COALESCE((SELECT acs.acs_administer FROM acs WHERE acs.acs_usr = :usr AND acs.acs_app = 3), 0)
) AS `read`,
GREATEST(
COALESCE((SELECT acs.acs_modify FROM acs WHERE acs.acs_usr = :usr AND acs.acs_app = :app), 0),
COALESCE((SELECT app.ap_modify FROM app WHERE app.ID = :app), 0),
COALESCE((SELECT acs.acs_administer FROM acs WHERE acs.acs_usr = :usr AND acs.acs_app = 3), 0)
) AS `modify`,
GREATEST(
COALESCE((SELECT acs.acs_modify FROM acs WHERE acs.acs_usr = :usr AND acs.acs_app = :app), 0),
COALESCE((SELECT app.ap_modify FROM app WHERE app.ID = :app), 0),
COALESCE((SELECT acs.acs_administer FROM acs WHERE acs.acs_usr = :usr AND acs.acs_app = 3), 0)
) AS `admin`
from acs
WHERE acs.acs_usr = :usr
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.